Man Linux: Main Page and Category List

NAME

       sem_unlink - remove a named semaphore (REALTIME)

SYNOPSIS

       #include <semaphore.h>

       int sem_unlink(const char *name);

DESCRIPTION

       The  sem_unlink()  function  shall  remove  the  semaphore named by the
       string name. If the semaphore named by name is currently referenced  by
       other processes, then sem_unlink() shall have 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(),  _exit(),  or  exec.  Calls  to  sem_open() to recreate or
       reconnect to the semaphore refer to a new semaphore after  sem_unlink()
       is  called.  The sem_unlink() call shall not block until all references
       have been destroyed; it shall return immediately.

RETURN VALUE

       Upon successful completion, the sem_unlink() function  shall  return  a
       value  of  0.  Otherwise,  the  semaphore  shall not be changed and the
       function shall return a value of -1  and  set  errno  to  indicate  the
       error.

ERRORS

       The sem_unlink() function shall fail if:

       EACCES Permission is denied to unlink the named semaphore.

       ENAMETOOLONG
              The length of the name argument exceeds {PATH_MAX} or a pathname
              component is longer than {NAME_MAX}.

       ENOENT The named semaphore does not exist.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       The sem_unlink() function is part of the Semaphores option and need not
       be available on all implementations.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       semctl()  ,  semget()  ,  semop() , sem_close() , sem_open() , the Base
       Definitions volume of IEEE Std 1003.1-2001, <semaphore.h>

COPYRIGHT

       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the  referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .