_lwp_mutex_trylock(2) _lwp_mutex_trylock(2)
NAME
_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.
Copyright 1994 Novell, Inc. Page 1
_lwp_mutex_trylock(2) _lwp_mutex_trylock(2)
For consistency, mutexes acquired with _lwp_mutex_trylock
should be released with _lwp_mutex_unlock.
REFERENCES
_lwp_mutex_lock(2), _lwp_mutex_unlock(2),
mutex_destroy(3synch), mutex_init(3synch), mutex_lock(3synch),
mutex_trylock(3synch), mutex_unlock(3synch)
NOTICES
Lightweight processes (LWPs) are internal interfaces and are
subject to change. Their use should be avoided.
Copyright 1994 Novell, Inc. Page 2