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

개요

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

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
       referred to by sem. The value of the initialized  semaphore  is  value.
       Following 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_destroy(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
                 exhausted, 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),
       attributes(7), standards(7)



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