Index Index for
Section 3
Index Alphabetical
listing for M
Bottom of page Bottom of
page

msem_unlock(3)

NAME

msem_unlock - Unlock a semaphore

SYNOPSIS

#include <sys/mman.h> int msem_unlock( msemaphore *sem, int condition );

LIBRARY

Standard C Library (libc)

PARAMETERS

sem Points to an msemaphore structure which specifies the semaphore to be unlocked. condition Determines whether the msem_unlock() function unlocks the semaphore if no other processes are waiting to lock it.

DESCRIPTION

The msem_unlock() function unlocks a binary semaphore. If the condition parameter is 0 (zero), the semaphore is unlocked, whether or not any other processes are currently attempting to lock it. If the condition parameter is MSEM_IF_WAITERS, and another process is waiting to lock the semaphore or it cannot be reliably determined whether some process is waiting to lock the semaphore, the semaphore is unlocked by the calling process. If the condition parameter is MSEM_IF_WAITERS, and no process is waiting to lock the semaphore, the semaphore will not be unlocked and an error will be returned. All calls to the msem_lock() and msem_unlock() functions by multiple processes sharing a common msemaphore structure behave as if the calls were serialized. If the msemaphore structure contains any value not resulting from a call to the msem_init() function followed by a (possibly empty) sequence of calls to the msem_lock() and msem_unlock() functions, the results are undefined. The address of an msemaphore structure may be significant. If the msemaphore structure contains any value copied from an msemaphore structure at a different address, the result is undefined.

NOTES

AES Support Level: Trial use

RETURN VALUES

On successful completion, the msem_unlock() function returns 0 (zero). On error, the msem_unlock() function returns -1 and sets errno to indicate the error.

ERRORS

If the msem_unlock() function fails, errno may be set to one of the following values: [EAGAIN] MSEM_IF_WAITERS was specified and there were no waiters. [EINVAL] The sem parameter points to an msemaphore structure which specifies a semaphore which has been removed, or the condition parameter is invalid.

SEE ALSO

Functions: msem_init(3), msem_lock(3), msem_remove(3)

Index Index for
Section 3
Index Alphabetical
listing for M
Top of page Top of
page