SEM_DESTROY(3C) Standard C Library Functions SEM_DESTROY(3C)

NAME


sem_destroy - destroy an unnamed semaphore

SYNOPSIS


#include <semaphore.h>

int sem_destroy(sem_t *sem);


DESCRIPTION


The sem_destroy() function is used to destroy the unnamed semaphore
indicated by sem. Only a semaphore that was created using
sem_init(3C) may be destroyed using sem_destroy(); the effect of
calling sem_destroy() with a named semaphore is undefined. The effect
of subsequent use of the semaphore sem is undefined until sem is re-
initialized by another call to sem_init(3C).


It is safe to destroy an initialised semaphore upon which no threads
are currently blocked. The effect of destroying a semaphore upon
which other threads are currently blocked is undefined.

RETURN VALUES


If successful, sem_destroy() returns 0, otherwise it returns -1 and
sets errno to indicate the error.

ERRORS


The sem_destroy() function will fail if:

EINVAL
The sem argument is not a valid semaphore.


The sem_destroy() function may fail if:

EBUSY
There are currently processes (or LWPs or threads) blocked
on the semaphore.


ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+--------------------+-------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------+
|Interface Stability | Committed |
+--------------------+-------------------+
|MT-Level | MT-Safe |
+--------------------+-------------------+
|Standard | See standards(7). |
+--------------------+-------------------+

SEE ALSO


sem_init(3C), sem_open(3C), attributes(7), standards(7)

February 5, 2008 SEM_DESTROY(3C)

tribblix@gmail.com :: GitHub :: Privacy