pthread_mutex_trylock(3) — Subroutines
Digital
NAME
pthread_mutex_trylock − Locks a mutex. If the mutex is locked, the calling thread does not wait for the mutex to become available.
SYNOPSIS
#include <pthread.h>
int pthread_mutex_trylock(
pthread_mutex_t ∗mutex );
PARAMETERS
mutexMutex 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 locked; therefore, it was not acquired. | |
| −1 | [EINVAL] | The value specified by mutex is invalid. |
RELATED INFORMATION
pthread_mutexattr_setkind_np(3), pthread_mutex_destroy(3), pthread_mutex_init(3), pthread_mutex_lock(3), pthread_mutex_unlock(3)