msem_unlock(2)msem_unlock(2)NAMEmsem_unlock - unlock a semaphore
SYNOPSISDESCRIPTION
unlocks a binary semaphore.
sem points to an structure that specifies the semaphore to be unlocked.
If the condition argument is zero, the semaphore will be unlocked,
whether or not any other processes are currently attempting to lock it.
If the condition argument is and some other process is waiting to lock
the semaphore or the implementation cannot reliably determine whether
some process is waiting to lock the semaphore, the semaphore is
unlocked by the calling process. If the condition argument is and no
process is waiting to lock the semaphore, the semaphore is not unlocked
and an error is returned.
All calls to and by multiple processes sharing a common structure
behave as if the calls were serialized.
If the structure contains any value not resulting from a call to fol‐
lowed by a (possibly empty) sequence of calls to and the results are
undefined. The address of an uniquely identifies the semaphore. If
the structure contains any value copied from a structure at a different
address, the result is undefined.
IMPLEMENTATION NOTES
The system attempts to ignore or recover from invalid values placed in
the structure, but this is not guaranteed for all cases.
RETURN VALUE
Upon success, returns zero; otherwise, it returns −1 and sets to indi‐
cate the error.
ERRORS
fails if any of the following conditions are encountered:
[EAGAIN] was specified and there were no waiters.
[EINVAL] sem points to an structure that has been removed,
or condition is invalid.
[EFAULT] sem is an invalid pointer.
AUTHOR
was developed by HP and OSF.
SEE ALSOmsem_init(2), msem_lock(2), msem_remove(2), mman(5).
STANDARDS CONFORMANCEmsem_unlock(2)