-
fsnd_dtq
ifsnd_dtq
-
Forced send to data queue.
ER fsnd_dtq (ID dtqid, VP_INT data);
ER ifsnd_dtq (ID dtqid, VP_INT data);
|
|
|
|
ID dtqid;
|
ID number of the data queue.
|
|
VP_INT data;
|
Data element to be sent to the data queue.
|
These service calls process as follows according to the situation of the data queue specified by the parameter
dtqid.
- There is a task in the reception wait queue.
This service call transfers the data specified by parameter
data to the task in the top of the reception wait queue. As a result, the task is unlinked from the reception wait queue and moves from the WAITING state (data reception wait state) to the READY state, or from the WAITING-SUSPENDED state to the SUSPENDED state.
- There is no task neither in the reception wait queue and transmission wait queue.
This service call stores the data specified by parameter
data to the data queue.
If there is no available space in the data queue, this service call deletes the oldest data in the data queue before storing the data specified by
data to the data queue.
|
|
|
|
|
|
|
|
|
|
|
- This service call was issued in the CPU locked state.
- The ifsnd_dtq was issued from task.
- The fsnd_dtq was issued from non-task.
- This service call was issued in the status "PSW.IPL > kernel interrupt mask level".
|
|
|
Memory access violation. (only for fsnd_dtq)
- Stack pointer points out of user stack for invoking task.
|
|
|
Illegal use of service call.
- The capacity of the data queue area is 0.
|
|
|
- The data queue specified by dtqid does not exist.
|