Wait on a named or unnamed semaphore
#include <semaphore.h> int sem_wait( sem_t * sem );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The sem_wait() function decrements the semaphore referred to by the sem argument. If the semaphore value isn't greater than zero, then the calling thread blocks until it can decrement the counter (i.e., another thread posts the semaphore), or the call is interrupted by a signal.
Some thread should eventually call sem_post() to increment the semaphore.
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |