POSIX Semaphores
POSIX semaphores are much lighter weight than are System V semaphores. A POSIX semaphore structure defines a single semaphore, not an array of up to 25 semaphores.
The POSIX semaphore interfaces are shown here:
-
sem_open
() -
Connects to, and optionally creates, a named semaphore
-
sem_init
() -
Initializes a semaphore structure (internal to the calling program, not a named semaphore)
-
sem_close
() -
Ends the connection to an open semaphore
-
sem_unlink
() -
Ends the connection to an open semaphore and causes the semaphore to be removed when the last process closes it
-
sem_destroy
() -
Initializes a semaphore structure (internal to the calling program, not a named semaphore)
-
sem_getvalue
() -
Copies the value of the semaphore into the specified integer
-
sem_wait
() -
Blocks while the semaphore is held by other processes or returns an error if the semaphore is held by another process