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).