HP-UX Reference (11i v3 07/02) - 2 System Calls (vol 5)

s
sem_unlink(2) sem_unlink(2)
NAME
sem_unlink - unlink a named POSIX semaphore
SYNOPSIS
#include <sys/semaphore.h>
int sem_unlink(const char *name);
DESCRIPTION
sem_unlink() is used to unlink named semaphores. A successful call to
sem_unlink() marks the
semaphore, specified by name, for removal. Calling
sem_unlink() does not affect processes, including
the calling process, which currently have a descriptor, obtained from a call to
sem_open() . Named
semaphores are uniquely identified by character strings. All character string names will be pre-processed
to ensure variations of a pathname resolve to the same semaphore name. If the semaphore is successfully
marked for removal by a call to
sem_unlink()
, the semaphore will be removed when all processes
remove their descriptors to the specified semaphore by calling
sem_close() . Subsequent calls to
sem_open() using the string name will refer to a new semaphore.
To use this function, link in the realtime library by specifying -lrt on the compiler or linker command
line.
EXAMPLES
The following call to sem_unlink() will remove the named semaphore named by the string name.If
the semaphore is currently referenced by one or more processes, the semaphore will be marked for removal
and removed when there are no more processes referencing it.
sem_unlink(name);
RETURN VALUE
If the semaphore was unlinked successfully,
sem_unlink() returns 0.
If the semaphore could not be unlinked, the call returns -1 and sets
errno to indicate the error.
ERRORS
sem_unlink() fails and does not perform the requested operation if any of the following conditions are
encountered:
[EACCES] The named semaphore exists and the process does not have the permissions to unlink
the semaphore.
[ENAMETOOLONG]
The name string is longer than {PATH_MAX} .
[ENOENT] The flag O_CREAT is not set in oflag (see sem_open(2)) and the named semaphore
does not exist.
SEE ALSO
sem_close(2), sem_open(2), privileges(5), <semaphore.h>.
STANDARDS CONFORMANCE
sem_unlink() : POSIX
366 Hewlett-Packard Company 1 HP-UX 11i Version 3: February 2007