[Previous] [Contents] [Index] [Next]

sem_trywait()

Wait on a semaphore, but don't block

Synopsis:

#include <semaphore.h>

int sem_trywait( sem_t * sem );

Library:

libc

Description:

The sem_trywait() function decrements the semaphore if the semaphore's value is greater than zero; otherwise, the function simply returns.

Returns:

0
The semaphore was successfully decremented.
-1
The state of the semaphore is unchanged; errno is set to indicate the error.

Errors:

EAGAIN
The semaphore was already locked, so it couldn't be immediately locked by the sem_trywait() function.
EDEADLK
A deadlock condition was detected.
EINVAL
Invalid semaphore descriptor sem.
EINTR
A signal interrupted this function.

Classification:

POSIX 1003.1

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

sem_destroy(), sem_init(), sem_post(), sem_wait()


[Previous] [Contents] [Index] [Next]