VMS Help
POSIX Threads, PTHREAD routines, pthread_mutex_trylock
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
Attempts to lock the specified mutex. If the mutex is already
locked, the calling thread does not wait for the mutex to become
available.
#include <pthread.h>
int
pthread_mutex_trylock (
pthread_mutex_t *mutex);
mutex
Mutex to be locked.
This routine attempts to lock the mutex specified in the mutex
argument. When a thread calls this routine, an attempt is made to
immediately lock the mutex. If the mutex is successfully locked,
this routine returns zero (0) and the calling thread becomes the
mutex's current owner. If the specified mutex is locked when a
thread calls this routine, the calling thread does not wait for
the mutex to become available.
The behavior of this routine is as follows:
o For a normal, default, or errorcheck mutex: if the mutex
is locked by any thread (including the calling thread) when
this routine is called, this routine returns [EBUSY] and the
calling thread does not wait to acquire the lock.
o For a normal or errorcheck mutex: if the mutex is not owned,
this routine returns zero (0) and the mutex becomes locked by
the calling thread.
o For a recursive mutex: if the mutex is owned by the current
thread, this routine returns zero (0) and the mutex lock count
is incremented. (To unlock a recursive mutex, each call to
pthread_mutex_trylock() must be matched by a call to pthread_
mutex_unlock().)
Use the pthread_mutexattr_settype() routine to set the mutex type
attribute (normal, default, recursive, or errorcheck).
If an error condition occurs, this routine returns an integer
value indicating the type of error. Possible return values are as
follows:
Return Description
0 Successful completion.
[EBUSY] The mutex is already locked; therefore, it was not
acquired.
[EINVAL] The value specified by mutex is not a valid mutex.
pthread_mutexattr_settype()
pthread_mutex_destroy()
pthread_mutex_init()
pthread_mutex_lock()
pthread_mutex_unlock()
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.