rel_wai

irel_wai

Outline

Release task from waiting.

C format

 ER      rel_wai (ID tskid);
 ER      irel_wai (ID tskid);
Parameter(s)

I/O

Parameter

Description

I

 ID      tskid;
ID number of the task.



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 These service calls do not perform queuing of forced cancelation requests. If the target task is neither in the WAITING state nor WAITING-SUSPENDED state, "E_OBJ" is returned.

Note 2 The SUSPENDED state is not cancelled by these service calls.

Return value

Macro

Value

Description

E_OK

0

Normal completion.

E_ID

-18

Invalid ID number.

- tskid < 0

- tskid > VTMAX_TSK

E_CTX

-25

Context error.

- This service call was issued in the CPU locked state.

- The irel_wai was issued from task.

- The rel_wai was issued from non-task.

- This service call was issued in the status "PSW.IPL > kernel interrupt mask level".

E_MACV

-26

Memory access violation. (only for rel_wai)

- Stack pointer points out of user stack for invoking task.

E_OBJ

-41

Object state error.

- Specified task is neither in the WAITING state nor WAITING-SUSPENDED state.

E_NOEXS

-42

Non-existent object.

- The task specified by tskid does not exist.