_lwp_sema_post(2) _lwp_sema_post(2)
NAME
_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(2), _lwp_sema_trywait(2), _lwp_sema_wait(2),
sema_destroy(3synch), sema_init(3synch), sema_post(3synch),
sema_wait(3synch), sema_trywait(3synch)
NOTICES
Lightweight processes (LWPs) are internal interfaces and are
subject to change. Their use should be avoided.
Copyright 1994 Novell, Inc. Page 1