GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
SEM_WAIT(3) FreeBSD Library Functions Manual SEM_WAIT(3)

sem_wait, sem_trywait
decrement (lock) a semaphore

Standard C Library (libc, -lc)

#include <semaphore.h>

int
sem_wait(sem_t *sem);

int
sem_trywait(sem_t *sem);

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_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.

Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

The sem_wait() and sem_trywait() functions will fail if:
[]
The sem argument points to an invalid semaphore.

Additionally, sem_wait() will fail if:

[]
A signal interrupted this function.

Additionally, sem_trywait() will fail if:

[]
The semaphore value was zero, and thus could not be decremented.

sem_getvalue(3), sem_post(3), sem_timedwait(3)

The sem_wait() and sem_trywait() functions conform to ISO/IEC 9945-1:1996 (“POSIX.1”).
April 16, 2013 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.