opensolaris man page for _lwp_sema_trywait

Query: _lwp_sema_trywait

OS: opensolaris

Section: 2

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

_lwp_sema_wait(2)						   System Calls 						 _lwp_sema_wait(2)

NAME
_lwp_sema_wait, _lwp_sema_trywait, _lwp_sema_init, _lwp_sema_post - semaphore operations
SYNOPSIS
#include <sys/lwp.h> int _lwp_sema_wait(lwp_sema_t *sema); int _lwp_sema_trywait(lwp_sema_t *sema); int _lwp_sema_init(lwp_sema_t *sema, int count); int _lwp_sema_post(lwp_sema_t *sema);
DESCRIPTION
Conceptually, a semaphore is an non-negative integer count that is atomically incremented and decremented. Typically this represents the number of resources available. The _lwp_sema_init() function initializes the count, _lwp_sema_post() atomically increments the count, and _lwp_sema_wait() waits for the count to become greater than 0 and then atomically decrements it. LWP semaphores must be initialized before use. The _lwp_sema_init() function initializes the count associated with the LWP semaphore pointed to by sema to count. The _lwp_sema_wait() function blocks the calling LWP until the semaphore count becomes greater than 0 and then atomically decrements it. The _lwp_sema_trywait() function atomically decrements the count if it is greater than zero. Otherwise it returns an error. The _lwp_sema_post() function atomically increments the semaphore count. If there are any LWPs blocked on the semaphore, one is unblocked.
RETURN VALUES
Upon successful completion, 0 is returned. A non-zero value indicates an error.
ERRORS
The _lwp_sema_init(), _lwp_sema_trywait(), _lwp_sema_wait(), and _lwp_sema_post() functions will fail if: EINVAL The sema argument points to an invalid semaphore. EFAULT The sema argument points to an illegal address. The _lwp_sema_wait() function will fail if: EINTR The function execution was interrupted by a signal or fork(2). The _lwp_sema_trywait() function will fail if: EBUSY The function was called on a semaphore with a zero count. The _lwp_sema_post() function will fail if: EOVERFLOW The value of the sema argument exceeds SEM_VALUE_MAX.
SEE ALSO
fork(2) SunOS 5.11 8 May 1998 _lwp_sema_wait(2)
Related Man Pages
sema_value(9) - freebsd
dispatch_semaphore_create(3) - mojave
_lwp_sema_wait(2) - sunos
dispatch_semaphore_create(3) - osx
dispatch_semaphore_signal(3) - osx
Similar Topics in the Unix Linux Community
urgent 2
addition in sh shell
C++ application halts at popen system call
bash: making a count
Getting Error count