Section: Linux Programmer's Manual (3)
sem_destroy - destroy an unnamed semaphore
int sem_destroy(sem_t *sem);
Link with -pthread.
destroys the unnamed semaphore at the address pointed to by
Only a semaphore that has been initialized by
should be destroyed using
Destroying a semaphore that other processes or threads are
currently blocked on (in
produces undefined behavior.
Using a semaphore that has been destroyed produces undefined results,
until the semaphore has been reinitialized using
returns 0 on success;
on error, -1 is returned, and
is set to indicate the error.
is not a valid semaphore.
For an explanation of the terms used in this section, see
An unnamed semaphore should be destroyed with
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 5.10 of the Linux
A description of the project,
information about reporting bugs,
and the latest version of this page,
can be found at