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,
the semaphore should be located in shared memory region (see
mmap(2),
shm_open(2),
and
shmget(2)),
any process having read and write access to address
sem
can perform semaphore operations on
sem.
Following a successful call to
sem_init(),
sem
can be used as an argument in subsequent calls to
sem_wait(3),
sem_trywait(3),
sem_post(3),
and
sem_destroy(3).
The
sem
argument is no longer valid after a successful call to
sem_destroy(3).