sem_destroy - destroy an unnamed POSIX semaphore
int sem_destroy(sem_t *sem);
sem_destroy() is used to destroy an unnamed semaphore. A successful
call to sem_destroy() will invalidate the unnamed semaphore referred
to by sem and removes all descriptors referencing it. The semaphore
should have been created by a previous call to sem_init() and there
should not be any processes blocked on it.
To use this function, link in the realtime library by specifying -lrt
on the compiler or linker command line.
The following call to sem_destroy() will destroy an unnamed semaphore
referred to by sem and remove all descriptors referencing it.
If the semaphore was destroyed and the descriptors referencing it were
removed, sem_destroy() returns 0 to the caller.
If the semaphore could not be destroyed, the call returns -1 and sets
errno to indicate the error.
sem_destroy() fails and does not perform the requested operation if
any of the following conditions are encountered:
[EBUSY] There are threads currently blocked on the
semaphore or there are outstanding locks held on
[EINVAL] The argument sem is not a valid unnamed semaphore.
sem_init(2), sem_open(2), <semaphore.h>.
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000