Unix/Linux Go Back    

NetBSD 6.1.5 - man page for sem_init (netbsd section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

SEM_INIT(3)			   BSD Library Functions Manual 		      SEM_INIT(3)

     sem_init -- initialize an unnamed semaphore

     POSIX Real-time Library (librt, -lrt)

     #include <semaphore.h>

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

     The sem_init() function initializes the unnamed semaphore pointed to by sem to have the
     value value.  A non-zero value for pshared specifies a shared semaphore that can be used by
     multiple processes, which this implementation is not capable of.

     Following a successful call to sem_init(), sem can be used as an argument in subsequent
     calls to sem_wait, sem_trywait, sem_post, and sem_destroy.  sem is no longer valid after a
     successful call to sem_destroy.

     The sem_init() function returns the value 0 if successful; otherwise the value -1 is
     returned and the global variable errno is set to indicate the error.

     sem_init() will fail if:

     [EINVAL]		value exceeds SEM_VALUE_MAX.

     [ENOSPC]		Memory allocation error.

     [EPERM]		Unable to initialize a shared semaphore.

     sem_destroy(3), sem_post(3), sem_trywait(3), sem_wait(3)

     sem_init() conforms to ISO/IEC 9945-1:1996 (``POSIX.1'').

     This implementation does not support shared semaphores, and reports this fact by setting
     errno to EPERM.  This is perhaps a stretch of the intention of POSIX, but is compliant, with
     the caveat that sem_init() always reports a permissions error when an attempt to create a
     shared semaphore is made.

BSD					 January 22, 2003				      BSD
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 12:16 PM.