RTEMS ITRON 3.0 API User's Guide
ER rel_wai( ID tskid );
E_OK
- Normal Completion
E_ID
- Invalid ID Number (tskid was invalid or could not be used)
E_NOEXS
- Object does not exist (the task specified by tskid does not exist)
E_OACV
- Object access violation (A tskid less than -4 was specified from a user task. This is implementation dependent.)
E_OBJ
- Invalid object state (the target task is not in WAIT state (including when it is in DORMANT state or when the issuing task specifies itself))
EN_OBJNO
- An object number which could not be accessed on the target node is specified.
EN_CTXID
- Specified an object on another node when the system call was issued from a task in dispatch disabled state or from a task-independent portion
This system call forcibly releases WAIT state (not including SUSPEND state) of the task specified by tskid.
An E_RLWAI error is returned to the task whose WAIT state has been released using rel_wai.
Wait release requests by rel_wai are not queued. In other words, if the task specified by tskid is already in WAIT state, the WAIT state is released, otherwise an E_OBJ error will be returned to the issuer. An E_OBJ error will also result when a task specifies itself to this system call.
Rel_wai does not release SUSPEND state. If rel_wai is issued on a task in WAIT-SUSPEND state, WAIT will be released but SUSPEND will continue for that task. When SUSPEND should also be released, the frsm_tsk system call must be issued separately.
A function similar to timeout can be implemented using an alarm handler which issues this system call on tasks specified time after they have entered WAIT state.
Rel_wai and wup_tsk differ in the following points.
RTEMS ITRON 3.0 API User's Guide
Copyright © 1988-2003 OAR Corporation