RTEMS Logo

RTEMS 4.6.1 On-Line Library


Semaphore Manager del_sem - Delete Semaphore

PREV UP NEXT Bookshelf RTEMS ITRON 3.0 API User's Guide

3.4.2: del_sem - Delete Semaphore

CALLING SEQUENCE:

ER del_sem(
  ID semid
);

STATUS CODES:

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

DESCRIPTION:

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.

NOTES:

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.


PREV UP NEXT Bookshelf RTEMS ITRON 3.0 API User's Guide

Copyright © 1988-2004 OAR Corporation