| SEM_INIT(3) | Library Functions Manual | SEM_INIT(3) |
sem_init —
initialize an unnamed semaphore
POSIX Real-time Library (librt, -lrt)
#include
<semaphore.h>
int
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.
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.
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:
sem_destroy(3), sem_post(3), sem_timedwait(3), sem_trywait(3), sem_wait(3)
sem_init() conforms to
ISO/IEC 9945-1:1996 (“POSIX.1”).
| February 21, 2019 | NetBSD 11.0 |