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)