sem_unlink(3R)
NAME
sem_unlink − remove a named semaphore
SYNOPSIS
cc [ flag ... ] file ... −lposix4 [ library ... ]
#include <semaphore.h>
int sem_unlink(const char ∗name);
MT-LEVEL
MT-Safe
DESCRIPTION
sem_unlink() removes the semaphore named by the string name. If the semaphore, name, is currently referenced by other processes, then sem_unlink() has no effect on the state of the semaphore. If one or more processes have the semaphore open when sem_unlink() is called, destruction of the semaphore is postponed until all references to the semaphore have been destroyed by calls to sem_close(3R), exit(2), or exec(2). Calls to sem_open(3R) to re-create or re-connect to the semaphore will refer to a new semaphore after sem_unlink() is called. sem_unlink() does not block until all references have been destroyed; rather, it returns immediately.
RETURN VALUES
If successful, sem_unlink() returns 0; otherwise, the function returns -1, sets errno to indicate the error condition, and the semaphore is left unchanged.
ERRORS
EACCES Permission is denied to unlink the named semaphore.
ENAMETOOLONG
The string-length of name exceeds {PATH_MAX}, or a pathname component is longer than {NAME_MAX} while _POSIX_NO_TRUNC is in effect.
ENOENT The named semaphore does not exist.
ENOSYS sem_unlink() is not supported by this implementation.
SEE ALSO
exec(2), exit(2), sem_close(3R), sem_open(3R)
Sun Microsystems — Last change: 12 Aug 1993