*** UNIX MANUAL PAGE BROWSER ***

A Nergahak database for man pages research.

Navigation

Directory Browser

1Browse 4.4BSD4.4BSD
1Browse Digital UNIXDigital UNIX 4.0e
1Browse FreeBSDFreeBSD 14.3
1Browse MINIXMINIX 3.4.0rc6-d5e4fc0
1Browse NetBSDNetBSD 10.1
1Browse OpenBSDOpenBSD 7.7
1Browse UNIX v7Version 7 UNIX
1Browse UNIX v10Version 10 UNIX

Manual Page Search

Manual Page Result

0 Command: sem_wait | Section: 3 | Source: OpenBSD | File: sem_wait.3
SEM_WAIT(3) FreeBSD Library Functions Manual SEM_WAIT(3) NAME sem_wait, sem_timedwait, sem_trywait - decrement (lock) a semaphore SYNOPSIS #include <semaphore.h> int sem_wait(sem_t *sem); int sem_timedwait(sem_t *sem, const struct timespec *abstime); int sem_trywait(sem_t *sem); DESCRIPTION The sem_wait() function decrements (locks) the semaphore pointed to by sem, but blocks if the value of sem is zero, until the value is non-zero and the value can be decremented. The sem_timedwait() function decrements (locks) the semaphore pointed to by sem, but blocks if the value of sem is zero, until either the value is non-zero and can be decremented or the system time specified by abstime is reached. The sem_trywait() function decrements (locks) the semaphore pointed to by sem only if the value is non-zero. Otherwise, the semaphore is not decremented and an error is returned. RETURN VALUES The sem_wait(), sem_timedwait(), and sem_trywait() functions return the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error. ERRORS sem_wait(), sem_timedwait(), and sem_trywait() will fail if: [EINVAL] sem points to an invalid semaphore. Additionally, sem_wait() and sem_timedwait() will fail if: [EINTR] The call was interrupted by a signal. Additionally, sem_timedwait() will fail if: [EINVAL] abstime was NULL or specified a nanosecond value less than zero or greater than 1000 million. [ETIMEDOUT] The semaphore value was zero and could not be decremented before abstime was reached. Additionally, sem_trywait() will fail if: [EAGAIN] The semaphore value was zero, and thus could not be decremented. SEE ALSO sem_destroy(3), sem_getvalue(3), sem_init(3), sem_open(3), sem_post(3) STANDARDS sem_wait(), sem_timedwait(), and sem_trywait() conform to IEEE Std 1003.1-2008 ("POSIX.1"). FreeBSD 14.1-RELEASE-p8 April 24, 2018 FreeBSD 14.1-RELEASE-p8

Navigation Options