## NAME

sem_unlink - remove a named semaphore

## SYNOPSIS

#include <semaphore.h>

int sem_unlink(const char *name );

## DESCRIPTION

sem_unlink() removes the semaphore named by the string name. If the semaphore, name, is currently referenced by other threads, then sem_unlink() has no effect on the state of the semaphore. If one or more threads 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(). Calls to sem_open() to re-create or re-connect to the semaphore will refer to a new semaphore after sem_unlink() is called. sem_unlink() does not block until all references have been destroyed; rather, it returns immediately.

## RETURN VALUES

If successful, sem_unlink() returns 0; otherwise, the function returns -1, sets errno to indicate the error condition, and the semaphore is left unchanged.

## ERRORS

ENOENT
  The named semaphore does not exist.

## SEE ALSO

sem_close(), sem_open()

#### Home page (Kernel)

## < Copyright Rowebots Research Inc. and Multiprocessor Toolsmiths Inc. 1987-2018 >