sem_unlink(2)                                                    sem_unlink(2)


NAME
     sem_unlink - deletes a posix named semaphore

C SYNOPSIS
     #include <semaphore.h>

     int sem_unlink (const char *name);

DESCRIPTION
     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.


SEE ALSO
     sem_open(1), sem_close(2)

DIAGNOSTICS
     Upon successful completion, a value of 0 is returned.  Otherwise, a value
     of -1 is returned and errno is set to indicate the error.


                                                                        Page 2