sem_unlink(2) sem_unlink(2)
sem_unlink - deletes a posix named semaphore
#include <semaphore.h>
int sem_unlink (const char *name<b>);
sem_unlink deletes the semaphore, named by the character string at
address name, from the file namespace. The named semaphore and its state
will persist after the call to sem_unlink, if one or more processes still
reference the semaphore. Once the last reference has been dropped, the
semaphore ceases to exist [see sem_close(2)].
sem_unlink will fail if one or more of the following are true:
[EACCES] Search permission is denied for a component of the name
prefix.
[EACCES] Write permission is denied on the directory containing the
semaphore to be removed and the process does not have the
super-user privilege.
[EACCES] The parent directory has the sticky bit set and the
semaphore is not writable by the user; the user does not
own the parent directory and the user does not own the
semaphore.
[EACCES] Write permission is denied on the semaphore named by name.
[EFAULT] name points outside the process's allocated address space.
[EINTR] A signal was caught during the sem_unlink system call.
[ELOOP] Too many symbolic links were encountered in translating
name.
[ENAMETOOLONG] The length of the name argument exceeds {PATH_MAX}, or the
length of a name component exceeds {NAME_MAX} while
_POSIX_NO_TRUNC is in effect.
[ENOENT] The named semaphore does not exist or is a null pathname.
[ENOTDIR] A component of the name is not a directory.
[EPERM] The named semaphore is a directory.
[EROFS] The semaphore to be unlinked is part of a read-only file
system.
Page 1
sem_unlink(2) sem_unlink(2)
sem_open(1), sem_close(2)
Upon successful completion, a value of 0 is returned. Otherwise, a value
of -1 is returned and errno is set to indicate the error.
PPPPaaaaggggeeee 2222 [ Back ]
|