freebsd man page for sem_timedwait

Query: sem_timedwait

OS: freebsd

Section: 3

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

SEM_TIMEDWAIT(3)					   BSD Library Functions Manual 					  SEM_TIMEDWAIT(3)

NAME
sem_timedwait -- lock a semaphore
LIBRARY
POSIX Threads Library (libpthread, -lpthread)
SYNOPSIS
#include <semaphore.h> int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout);
DESCRIPTION
The sem_timedwait() function locks the semaphore referenced by sem, as in the sem_wait(3) function. However, if the semaphore cannot be locked without waiting for another process or thread to unlock the semaphore by performing a sem_post(3) function, this wait will be termi- nated when the specified timeout expires. 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.
RETURN VALUES
The sem_timedwait() function returns zero if the calling process successfully performed the semaphore lock operation on the semaphore desig- nated by sem. If the call was unsuccessful, the state of the semaphore is unchanged, and the function returns a value of -1 and sets the global variable errno to indicate the error.
ERRORS
The sem_timedwait() function will fail if: [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.
SEE ALSO
sem_post(3), sem_trywait(3), sem_wait(3)
STANDARDS
The sem_timedwait() function conforms to IEEE Std 1003.1-2004 (``POSIX.1'').
HISTORY
The function first appeared in FreeBSD 5.0.
BSD
March 3, 2008 BSD
Related Man Pages
sem_timedwait(3p) - centos
sem_wait(3) - debian
sem_timedwait(3) - debian
sem_timedwait(3p) - suse
sem_timedwait(3rt) - sunos
Similar Topics in the Unix Linux Community
Signals and semaphores
NTP synchronised problem in our Centos 7.6 node