|SEM_INIT(3)||Library Functions Manual||SEM_INIT(3)|
initialize an unnamed semaphore
*sem, int pshared,
unsigned int value);
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 can be used as an argument in subsequent calls to
sem_post, and sem_destroy.
sem is no longer valid after a successful call to
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
It is an error to call
sem_destroy() on a
named semaphore created by
sem_init() will fail if:
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.
|April 6, 2021||OpenBSD-current|