_lwp_sema_post(S)
_lwp_sema_post --
release a semaphore
Synopsis
#include <synch.h>
int _lwp_sema_post(_lwp_sema_t *sema);
Parameters
sema-
pointer to the semaphore to increment
Description
_lwp_sema_post releases a resource under the semaphore
pointed to by sema acquired by a previous call to either
_lwp_sema_wait or _lwp_sema_trywait, and if the new count value is
less than or equal to zero, the next lightweight process (LWP) waiting at the semaphore
will be made runnable.
If more than one LWP is waiting,
release from the blocked group is scheduling policy specific.
sema parameter
sema must previously have been initialized,
either by _lwp_sema_init or statically (see _lwp_sema_init).
Return values
_lwp_sema_post returns zero on success and an error number for failure, as
described below.
Errors
If any of the following conditions is detected,
_lwp_sema_post fails and returns the corresponding value:
EFAULT-
The sema parameter points to an illegal address.
(This error may not be detected; a SIGSEGV signal may be posted to the
faulting LWP if an illegal address is used.)
References
_lwp_sema_init(S),
_lwp_sema_trywait(S),
_lwp_sema_wait(S),
sema_destroy(SYNCH),
sema_init(SYNCH),
sema_post(SYNCH),
sema_wait(SYNCH),
sema_trywait(SYNCH)
Notices
Lightweight processes (LWPs) are internal interfaces and are subject
to change. Their use should be avoided.
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 - 01 June 2005