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

개요

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

sem_init(3c)

sem_init(3C)             Standard C Library Functions             sem_init(3C)

NAME
       sem_init - initialize an unnamed semaphore

SYNOPSIS
       #include <semaphore.h>

       int sem_init(sem_t *sem, int pshared, unsigned int value);

DESCRIPTION
       The sem_init() function is used to initialize the unnamed semaphore re‐
       ferred to by sem. The value of the initialized semaphore is value. Fol‐
       lowing  a  successful  call to sem_init(), the semaphore may be used in
       subsequent calls to sem_wait(3C),  sem_trywait(3C),  sem_post(3C),  and
       sem_destroy(3C).  This  semaphore remains usable until the semaphore is
       destroyed.


       If the pshared argument has a non-zero value,  then  the  semaphore  is
       shared between processes; in this case, any process that can access the
       semaphore sem can use sem for performing sem_wait(3C), sem_trywait(3C),
       sem_post(3C), and sem_destroy(3C) operations.


       Only  sem itself may be used for performing synchronization. The result
       of referring to copies  of  sem  in  calls  to  sem_wait(3C),  sem_try‐
       wait(3C), sem_post(3C), and sem_destroy(3C), is undefined.


       If  the  pshared argument is zero, then the semaphore is shared between
       threads of the process; any thread in this process can use sem for per‐
       forming  sem_wait(3C),  sem_trywait(3C),  sem_post(3C),   and   sem_de‐
       stroy(3C)  operations.  The  use of the semaphore by threads other than
       those created in the same process is undefined.


       Attempting to initialize an already initialized  semaphore  results  in
       undefined behavior.


       The sem_open(3C) function is used with named semaphores.

RETURN VALUES
       Upon  successful  completion, the function initializes the semaphore in
       sem. Otherwise, it returns −1 and sets errno to indicate the error.

ERRORS
       The sem_init() function will fail if:

       EINVAL    The value argument exceeds SEM_VALUE_MAX.


       ENOSPC    A resource required to initialize the semaphore has been  ex‐
                 hausted,  or  the  resources  have reached the limit on sema‐
                 phores (SEM_NSEMS_MAX).


       ENOSYS    The sem_init() function is not supported by the system.


       EPERM     The process lacks the appropriate  privileges  to  initialize
                 the semaphore.


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-LevelMT-Safe _  Stan‐
       dardSee standards(7).


SEE ALSO
       sem_destroy(3C),   sem_open(3C),  sem_post(3C),  sem_wait(3C),  attrib‐
       utes(7), standards(7)

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