DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

_lwp_mutex_trylock(S)


_lwp_mutex_trylock -- conditionally lock a mutex

Synopsis

   #include <synch.h>
   

int _lwp_mutex_trylock(lwp_mutex_t *mutex);

Parameters


mutex
pointer to mutex to be locked

Description

_lwp_mutex_trylock, is used to conditionally apply a mutual exclusion lock (mutex) on behalf of the calling lightweight process (LWP). The parameter mutex points to the mutex on which the lock is to be applied.

The mutex must previously have been initialized. A lwp_mutex_t object filled with zeros (for example, by static initialization) is a valid unlocked setting. If the mutex is already locked upon entry, the operation immediately returns to the caller without acquiring the lock.

Return values

_lwp_mutex_trylock returns zero on success and an error number for failure, as described below.

Errors

If any of the following conditions is detected, _lwp_mutex_trylock fails and returns the corresponding value:

EINVAL
The mutual exclusion variable pointed to by mutex is invalid.

EFAULT
The mutex parameter points to an illegal address. (This error may not be detected; a SIGSEGV signal may be posted to the faulting LWP if an illegal address is used.)

If any of the following conditions occur, _lwp_mutex_trylock fails and returns the corresponding value:


EBUSY
The parameter mutex points to a locked mutex.

Usage

_lwp_mutex_trylock is used when the caller does not want to block.

For consistency, mutexes acquired with _lwp_mutex_trylock should be released with _lwp_mutex_unlock.

References

_lwp_mutex_lock(S), _lwp_mutex_unlock(S), mutex_destroy(SYNCH), mutex_init(SYNCH), mutex_lock(SYNCH), mutex_trylock(SYNCH), mutex_unlock(SYNCH)

Notices

Lightweight processes (LWPs) are internal interfaces and are subject to change. Their use should be avoided.
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 - 01 June 2005