The sem_unlink function removes a semaphore named by the name string. If the semaphore is referenced by other processes, sem_ unlink does not change the state of the semaphore. If other processes have the semaphore open when sem_unlink is called, the semaphore is not destroyed until all references to the semaphore have been destroyed by calls to sem_close. The sem_ unlink function returns immediately; it does not wait until all references have been destroyed. Calls to sem_open to recreate or reconnect to the semaphore refer to a new semaphore after sem_unlink is called.