DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

sem_unlink(S)


sem_unlink -- remove a named semaphore

Syntax

cc . . . -lsuds
#include <semaphore.h>

int sem_unlink(const char *name);

Description

The sem_unlink function removes the semaphore named by the string name. If the semaphore named by 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(S), exit(S), or exec(S). Calls to sem_open(S) to recreate or reconnect to the semaphore refer to a new semaphore after sem_unlink is called. The sem_unlink call does not block until all references have been destroyed; it then returns immediately.

Return values

Upon successful completion, the function returns a value of zero. Otherwise, the semaphore is not changed by this function call, and the function returns a value of -l and sets errno to indicate the error.

Diagnostics

If any of the following conditions occur, the sem_unlink function returns -1 and sets errno to the corresponding value:

[EACCES]
Permission is denied to unlink the named semaphore.

[ENAMETOOLONG]
The length of the name string exceeds {NAME_MAX} while {_POSIX_NO_TRUNC} is in effect.

[ENOENT]
The named semaphore does not exist.

See also

semaphore(FP), sem_close(S), sem_open(S)

Standards conformance

Text reprinted and/or adapted from IEEE Std 1003.1b-1993, IEEE Standard for Information Technology, POSIX Part 1: System Application Program Interface (API) Amendment 1: Realtime Extensions [C Language], copyright © 1993 by the Institute of Electrical and Electronics Engineers, Inc. The IEEE takes no responsibility for and will assume no liability for damages resulting from the reader's misinterpretation of said information resulting from the placement and context in this publication. Information is reproduced with the permission of the IEEE.
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003