sem_destroy()
destroys the unnamed semaphore at the address pointed to by
sem.
Only a semaphore that has been initialized by
sem_init(3)
should be destroyed using
sem_destroy().
Destroying a semaphore that other processes or threads are
currently blocked on (in
sem_wait(3))
produces undefined behavior.
Using a semaphore that has been destroyed produces undefined results,
until the semaphore has been reinitialized using
sem_init(3).
RETURN VALUE
sem_destroy()
returns 0 on success;
on error, -1 is returned, and
errno
is set to indicate the error.
ERRORS
EINVAL
sem
is not a valid semaphore.
CONFORMING TO
POSIX.1-2001.
NOTES
An unnamed semaphore should be destroyed with
sem_destroy()
before the memory in which it is located is deallocated.
Failure to do this can result in resource leaks on some implementations.
This page is part of release 3.14 of the Linux
man-pages
project.
A description of the project,
and information about reporting bugs,
can be found at
http://www.kernel.org/doc/man-pages/.