pthread_mutex_trylock(3thr)pthread_mutex_trylock(3thr)Namepthread_mutex_trylock - Locks a mutex. If the mutex is already locked,
the calling thread does not wait for the mutex to become available
Syntax
#include <pthread.h>
int pthread_mutex_trylock (mutex)
pthread_mutex_t *mutex;
Arguments
mutex Mutex locked.
Description
This routine locks a mutex. If the specified mutex is locked when a
thread calls this routine, the calling thread does not wait for the
mutex to become available.
When a thread calls this routine, an attempt is made to immediately
lock the mutex. If the mutex is successfully locked, 1 is returned and
the current thread is then the mutex's current owner.
If the mutex is locked by another thread when this routine is called, 0
is returned and the thread does not wait to acquire the lock. If a
fast mutex is owned by the current thread, 0 is returned. If a recur‐
sive mutex is owned by the current thread, 1 is returned and the mutex
is relocked. (To unlock a recursive mutex, each call to
pthread_mutex_trylock must be matched by a call to
pthread_mutex_unlock.)
Return Values
If an error condition occurs, this routine returns -1 and sets errno to
the corresponding error value. Possible return values are as follows.
Return Error Description
1 Successful comple‐
tion.
0 The mutex is
already locked;
therefore, it was
not acquired.
-1 [EINVAL] The value specified
by mutex is
invalid.
pthread_mutex_trylock(3thr)