pthread_mutex_trylock(3thr)
Name
pthread_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 recursive 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 completion. | |
| 0 | The mutex is already locked; therefore, it was not acquired. | |
| -1 | [EINVAL] | The value specified by mutex is invalid. |