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