Main index | Section 3 | Options |
#include <semaphore.h>
#include <time.h>
The timeout will expire when the absolute time specified by abs_timeout passes, as measured by the clock on which timeouts are based (that is, when the value of that clock equals or exceeds abs_timeout), or if the absolute time specified by abs_timeout has already been passed at the time of the call.
Note that the timeout is based on the CLOCK_REALTIME clock.
The validity of the abs_timeout is not checked if the semaphore can be locked immediately.
The sem_clockwait_np() function is a more flexible variant of sem_timedwait(). The clock_id parameter specifies the reference clock. If the flags parameter contains TIMER_ABSTIME, then the requested timeout (rqtp) is an absolute timeout; otherwise, the timeout is relative. If this function fails with EINTR and the timeout is relative, a non-NULL rmtp will be updated to contain the amount of time remaining in the interval ( the requested time minus the time actually slept ). An absolute timeout has no effect on rmtp. A single structure can be used for both rqtp and rmtp.
[EINVAL] | |
The sem argument does not refer to a valid semaphore, or the process or thread would have blocked, and the abs_timeout parameter specified a nanoseconds field value less than zero or greater than or equal to 1000 million. | |
[ETIMEDOUT] | |
The semaphore could not be locked before the specified timeout expired. | |
[EINTR] | |
A signal interrupted this function. | |
SEM_TIMEDWAIT (3) | May 24, 2017 |
Main index | Section 3 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.
“ | With features like these, who needs bugs? | ” |
— Henry Spencer |