Standard C Library Functions sem_post(3C)
NAME
sem_post - increment the count of a semaphore
SYNOPSIS
#include
int sem_post(sem_t *sem);
DESCRIPTION
The sem_post() 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 operationis 0, then one of the threads blocked waiting for the sema-
phore will be allowed to return successfully from its callto sem_wait(3C). If the symbol _POSIX_PRIORITY_SCHEDULING 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 theschedulers SCHED_FIFO and SCHED_RR, the highest priority
waiting thread will be unblocked, and if there is more thanone 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_POSIX_PRIORITY_SCHEDULING is not defined, the choice of a
thread to unblock is unspecified.RETURN VALUES
If successful, sem_post() returns 0; otherwise it returns -1
and sets errno to indicate the error.ERRORS
The sem_post() function will fail if:
EINVAL The sem argument does not refer to a valid semaphore.ENOSYS The sem_post() function is not supported by
the system.SunOS 5.11 Last change: 5 Feb 2008 1
Standard C Library Functions sem_post(3C)
EOVERFLOW The semaphore value exceeds SEM_VALUE_MAX.
USAGE
The sem_post() 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 sem_wait(3C).
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | Async-Signal-Safe |
|_____________________________|_____________________________|
| Standard | See standards(5). ||_____________________________|_____________________________|
SEE ALSO
sched_setscheduler(3C), sem_wait(3C), semaphore(3C), attri-
butes(5), standards(5)SunOS 5.11 Last change: 5 Feb 2008 2