RTEMS ITRON 3.0 API User's Guide
ER del_sem( ID semid );
E_OK
- Normal Completion
E_ID
- Invalid ID number (semid was invalid or could not be used)
E_NOEXS
- Object does not exist (the semaphore specified by semid
does not exist)
E_OACV
- Object access violation (A semid less than -4 was
specified from a user task. This is implementation dependent.)
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 routine deletes the semaphore specified by semid
.
All tasks blocked waiting to acquire the semaphore will be
readied and returned a status code which indicates that the
semaphore was deleted. The control block for this semaphore
is reclaimed by RTEMS.
Multiprocessing is not supported. Thus none of the "EN_" status codes will be returned.
The calling task will be preempted if it is enabled by the task's execution mode and a higher priority local task is waiting on the deleted semaphore. The calling task will NOT be preempted if all of the tasks that are waiting on the semaphore are remote tasks.
The calling task does not have to be the task that created the semaphore. Any local task that knows the semaphore id can delete the semaphore.
RTEMS ITRON 3.0 API User's Guide
Copyright © 1988-2004 OAR Corporation