sem_post(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

sem_post(3c)

Standard C Library Functions                                      sem_post(3C)



NAME
       sem_post - increment the count of a semaphore

SYNOPSIS
       #include <semaphore.h>

       int sem_post(sem_t *sem);

DESCRIPTION
       The sem_post() function unlocks the semaphore referenced by sem by per‐
       forming a semaphore unlock operation on that semaphore.


       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 semaphore will be allowed to
       return successfully from  its  call  to  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 param‐
       eters  in effect for the blocked threads. In the case of the schedulers
       SCHED_FIFO and SCHED_RR, the highest priority waiting  thread  will  be
       unblocked,  and  if  there  is  more  than  one highest priority thread
       blocked waiting for the semaphore, then  the  highest  priority  thread
       that  has  been  waiting  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.


       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(7))
       threads  implementation.  For  the documentation of the Solaris threads
       interface, see semaphore(3C)).

EXAMPLES
       See sem_wait(3C).

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE  VALUE  _  Interface StabilityCommitted _ MT-LevelAsync-Signal-
       Safe _ StandardSee standards(7).


SEE ALSO
       sched_setscheduler(3C),  sem_wait(3C),  semaphore(3C),   attributes(7),
       standards(7)



Oracle Solaris 11.4               5 Feb 2008                      sem_post(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3