sem_unlink(3pthread)


sem_unlink -- remove a named semaphore

Synopsis

   cc [options] -Kthread file
   

#include <semaphore.h>

int sem_unlink(const char *name);

Description

sem_unlink removes the semaphore pointed to by name. If 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, _exit, or exec. Calls to sem_open to re-create or re-connect to the semaphore refer to a new semaphore after sem_unlink is called. sem_unlink does not block until all references have been destroyed; it returns immediately.

Return values

sem_unlink returns 0 on success. Otherwise, the semaphore is not changed and the function returns a value of -1 and sets errno to indicate the error.

Diagnostics

sem_unlink returns the following value if the corresponding condition is detected:

EACCES
Permission is denied to unlink the named semaphore.

ENAMETOOLONG
The length of name exceeds {NAME_MAX} while {POSIX_NO_TRUNC} is in effect.

ENOENT
name does not exist.

Standards compliance

The Single UNIX Specification, Version 2; The Open Group.

References

Intro(3pthread), sem_close(3pthread), sem_open(3pthread), semaphore(4)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004