| SEM_INIT(3) | Library Functions Manual | SEM_INIT(3) | 
sem_init —
#include <semaphore.h>
int
  
  sem_init(sem_t
    *sem, int pshared,
    unsigned int value);
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.
Following a successful call to sem_init(),
    sem can be used as an argument in subsequent calls to
    sem_wait(), sem_timedwait(),
    sem_trywait(), sem_post(),
    and sem_destroy(). sem is no
    longer valid after a successful call to
  sem_destroy.
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:
sem_init() conforms to ISO/IEC
  9945-1:1996 (“POSIX.1”).
| February 21, 2019 | NetBSD 9.3 |