-
unl_mtx
-
ER unl_mtx (ID mtxid);
|
|
|
|
ID mtxid;
|
ID number of the mutex to be unlocked.
|
This service call unlocks the locked mutex specified by parameter
mtxid.
If a task has been queued to the target mutex wait queue when this service call is issued, mutex lock processing is performed by the task (the first task in the wait queue) immediately after mutex unlock processing.
As a result, the task is unlinked from the wait queue and moves from the WAITING state (mutex wait state) to the READY state, or from the WAITING-SUSPENDED state to the SUSPENDED state.
Note A locked mutex can be unlocked only by the task that locked the mutex.
If this service call is issued for a mutex that was not locked by an invoking task, no processing is performed but E_ILUSE is returned.
|
|
|
|
|
|
|
|
- mtxid > Maximum ID number
|
|
|
- This service call was issued from a non-task.
- This service call was issued in the CPU locked state.
|
|
|
Illegal service call use.
- Multiple unlocking of a mutex.
- The invoking task does not have the specified mutex locked.
|
|
|
- Specified mutex is not registered.
|