Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sem_trywait(2) [hpux man page]

sem_wait(2)							System Calls Manual						       sem_wait(2)

NAME
sem_wait, sem_trywait - lock a POSIX semaphore SYNOPSIS
DESCRIPTION
is used to lock a semaphore. The calling thread will not return from its call to until one of the following events occur: it successfully obtains a lock on the semaphore; it is interrupted by a signal or an error condition occurs. is used to lock a semaphore, if it is available. The value of the semaphore sem is checked at some unspecified time during the call. If the semaphore is available at the time its value is checked, the calling thread will atomically, with respect to the checking of the value, lock the semaphore. The thread will now own a lock on the semaphore; the call will return successfully. If the semaphore is unavailable at the time its value is checked, then the call returns -1 with errno set to EAGAIN. If the specified semaphore referred to by sem is a named semaphore, then this semaphore must have been opened by the calling process with The calling process must have both read and write permissions on the semaphore to perform these operations. The semaphore will be locked upon successful return and will stay locked until it is explicitly released by a call to To use this function, link in the realtime library by specifying on the compiler or linker command line. EXAMPLES
The following call to will lock the semaphore sem. The following call to will lock the semaphore sem, if it is available. RETURN VALUE
A successful call to will return 0 and the calling thread will then own a lock on the semaphore. Otherwise, the call to will return -1 with errno set to the appropriate value of the error condition. A successful call to will return 0, if the semaphore was available and the calling thread was able to lock the semaphore. Otherwise, the call to will return -1 with errno set to the appropriate value of the error condition. ERRORS
and fail and do not perform the requested operation if any of the following conditions are encountered: [EPERM] The calling process does not have the privileges necessary to lock the semaphore. [EAGAIN] The semaphore was not available and hence could not be locked by This error condition only occurs in [EINVAL] The argument sem does not refer to a valid semaphore. [EINTR] The function was interrupted by a signal SEE ALSO
sem_post(2), <semaphore.h>. STANDARDS CONFORMANCE
sem_wait(2)

Check Out this Related Man Page

msem_lock(2)							System Calls Manual						      msem_lock(2)

NAME
msem_lock() - lock a semaphore SYNOPSIS
DESCRIPTION
attempts to lock a binary semaphore. sem points to an structure which specifies the semaphore to be locked. If the semaphore is not currently locked, it becomes locked and the function returns successfully. If the semaphore is currently locked, and condition is then the function returns with an error. If the semaphore is currently locked and condition is zero, the function does not return until either the calling process is able to successfully lock the semaphore, or an error condition occurs. 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 followed 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 an structure at a differ- ent address, the result is undefined. IMPLEMENTATION NOTES
If blocked on a locked semaphore, suspends the calling process at a priority such that the process can be interrupted by a signal. The system attempts to ignore or recover from invalid values written to the structure, but this is not guaranteed for all cases. successfully acquires a semaphore that is locked by a process that has exited. RETURN VALUE
returns one of the following values: Success. Failure. is set to indicate the error. ERRORS
sets to one of the following values if the corresponding condition is encountered. was specified and the semaphore was already locked. sem points to an structure that has been removed, or condition is invalid. was interrupted by a signal that was caught. The semaphore is currently locked, condition is zero, and waiting to lock the semaphore would create a deadlock. sem is not a properly aligned address or is otherwise an invalid pointer. AUTHOR
was developed by HP and OSF. SEE ALSO
msem_init(2), msem_remove(2), msem_unlock(2), mman(5). STANDARDS CONFORMANCE
msem_lock(2)
Man Page