Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

OpenSolaris 2009.06 - man page for _lwp_sema_trywait (opensolaris section 2)

_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() func-
       tions 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)


All times are GMT -4. The time now is 11:38 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password