Standard C Library Functions sempost(3C)
NAME
sempost - increment the count of a semaphore
SYNOPSIS
#include
int sempost(semt *sem);
DESCRIPTION
The sempost() function unlocks the semaphore referenced by
sem by performing a semaphore unlock operation on that sema-
phore.
If the semaphore value resulting from this operation is
positive, then no threads were blocked waiting for the
semaphore to become unlocked; the semaphore value is simply
incremented.
If the value of the semaphore resulting from this operation
is 0, then one of the threads blocked waiting for the sema-
phore will be allowed to return successfully from its call
to semwait(3C). If the symbol POSIXPRIORITYSCHEDULING is
defined, the thread to be unblocked will be chosen in a
manner appropriate to the scheduling policies and parameters
in effect for the blocked threads. In the case of the
schedulers SCHEDFIFO and SCHEDR, the highest priority
waiting thread will be unblocked, and if there is more than
one highest priority thread blocked waiting for the sema-
phore, then the highest priority thread that has been wait-
ing the longest will be unblocked. If the symbol
POSIXPRIORITYSCHEDULING is not defined, the choice of a
thread to unblock is unspecified.
RETURN VALUES
If successful, sempost() returns 0; otherwise it returns -1
and sets errno to indicate the error.
ERORS
The sempost() function will fail if:
EINVAL The sem argument does not refer to a valid
semaphore.
ENOSYS The sempost() function is not supported by
the system.
SunOS 5.11 Last change: 5 Feb 2008 1
Standard C Library Functions sempost(3C)
EOVERFLOW The semaphore value exceeds SEMVALUEMAX.
USAGE
The sempost() function is reentrant with respect to signals
and may be invoked from a signal-catching function. The
semaphore functionality described on this manual page is for
the POSIX (see standards(5)) threads implementation. For the
documentation of the Solaris threads interface, see
semaphore(3C)).
EXAMPLES
See semwait(3C).
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Committed
MT-Level Async-Signal-Safe
Standard See standards(5).
SEE ALSO
schedsetscheduler(3C), semwait(3C), semaphore(3C), attri-
butes(5), standards(5)
SunOS 5.11 Last change: 5 Feb 2008 2
|