osf1 man page for sem_post

Query: sem_post

OS: osf1

Section: 3

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

sem_post(3)						     Library Functions Manual						       sem_post(3)

NAME
sem_post - Unlocks a semaphore (P1003.1b)
LIBRARY
Realtime Library (librt.so, librt.a)
SYNOPSIS
#include <semaphore.h> int sem_post ( sem_t *sem);
PARAMETERS
sem Pointer to the semaphore to be unlocked.
DESCRIPTION
The sem_post function unlocks the specified semaphore by performing the semaphore unlock operation on that semaphore. The appropriate func- tion (sem_open for named semaphores or sem_init for unnamed semaphores) must be called for a semaphore before you can call the locking and unlocking functions, sem_wait, sem_trywait, and sem_post. If the semaphore value after a sem_post function is positive, no processes were blocked waiting for the semaphore to be unlocked; the sema- phore value is incremented. If the semaphore value after a sem_post function is zero, one of the processes blocked waiting for the sema- phore is allowed to return successfully from its call to sem_wait. If more than one process is blocked while waiting for the semaphore, only one process is unblocked and the state of the semaphore remains unchanged when the sem_post function returns. The process to be unblocked is selected according to the scheduling policies and priorities of all blocked processes. If the scheduling policy is SCHED_FIFO or SCHED_RR, the highest-priority waiting process is unblocked. If more than one process of that priority is blocked, then the process that has waited the longest is unblocked. The sem_post function can be called from a signal-catching function.
RETURN VALUES
On successful completion, the sem_post function returns the value 0 (zero) and performs a semaphore unlock operation, unblocking a process. Otherwise, the function returns the value -1 and sets errno to indicate the error. The state of the semaphore remains unchanged.
ERRORS
The sem_post function fails under the following condition: [EINVAL] The sem does not refer to a valid semaphore.
RELATED INFORMATION
Functions: sem_trywait(3), sem_wait(3) Guide to Realtime Programming delim off sem_post(3)
Related Man Pages
sem_post(3p) - centos
sem_destroy(3) - redhat
sem_post(3) - redhat
sem_init(2) - hpux
sem_post(3rt) - sunos
Similar Topics in the Unix Linux Community
monitoring 'waiting' processes
Undefined: sem_init, sem_post, sem_wait
Blocked process and preempt
Semaphores sem_wait sem_post problem
How to find blocked process in vmstat?