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);
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.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| MT-Level | MT-Safe |
SEE ALSO
exec(2), exit(2), sem_close(3R), sem_open(3R), attributes(5)
SunOS 5.6 — Last change: 30 Dec 1996