pthread_mutex_trylock —
attempt to lock a mutex without
blocking
POSIX Threads Library (libpthread,
-lpthread)
#include
<pthread.h>
int
pthread_mutex_trylock(pthread_mutex_t
*mutex);
The
pthread_mutex_trylock()
function locks mutex. If the mutex is already locked,
pthread_mutex_trylock() will not block waiting for
the mutex, but will return an error condition.
If successful, pthread_mutex_trylock()
will return zero, otherwise an error number will be returned to indicate the
error.
The pthread_mutex_trylock() function will
fail if:
- [
EINVAL]
- The value specified by mutex is invalid.
- [
EBUSY]
- Mutex is already locked.
- [
EOWNERDEAD]
- The argument mutex points to a robust mutex and the
process containing the previous owning thread terminated while holding the
mutex lock. The lock was granted to the caller and it is up to the new
owner to make the state consistent.
- [
ENOTRECOVERABLE]
- The state protected by the mutex is not
recoverable.
The pthread_mutex_trylock() function
conforms to ISO/IEC 9945-1:1996
(“POSIX.1”).