Everything

rel_wai

irel_wai

Outline
Release task from waiting.
C format
 ER      rel_wai ( ID tskid );
 
 ER      irel_wai ( ID tskid );

Assembly format
 MOV     A, #tskid
 CALL    !!_rel_wai
 
 MOV     A, #tskid
 CALL    !!_irel_wai

Parameter(s)
I/O
Parameter
Description
I
 ID      tskid;
ID number of the task to be released from waiting.

Explanation
These service calls forcibly cancel the WAITING state of the task specified by parameter tskid.
As a result, the target task unlinked from the wait queue and is moved from the WAITING state to the READY state, or from the WAITING-SUSPENDED state to the SUSPENDED state.
"E_RLWAI" is returned from the service call that triggered the move to the WAITING state (slp_tsk, wai_sem, or the like) to the task whose WAITING state is cancelled by this service call.
Note 1 If the target task is moved to the READY state after this service call is issued, this service call also re-queues the task at the end of the ready queue corresponding to the priority of the task.
Note 2 This service call does not perform queuing of forced cancellation requests. If the target task is in a state other than the WAITING or WAITING-SUSPENDED state, "E_OBJ" is returned.
Return value
Macro
Value
Description
E_OK
0
Normal completion.
E_OBJ
-41
Object state error (specified task is neither in the WAITING state nor WAITING-SUSPENDED state).