pthread_mutex_lock(3thr)pthread_mutex_lock(3thr)Namepthread_mutex_lock - Locks an unlocked mutex. If the mutex is locked,
this routine causes the thread to wait for the mutex to become avail‐
able
Syntax
#include <pthread.h>
int pthread_mutex_lock (mutex)
pthread_mutex_t *mutex;
Arguments
mutex Mutex locked.
Description
This routine locks a mutex. If the mutex is locked when a thread calls
this routine, the thread waits for the mutex to become available.
The thread that has locked a mutex becomes its current owner and
remains the owner until the same thread has unlocked it. This routine
returns with the mutex in the locked state and with the current thread
as the mutex's current owner.
If you specified a fast mutex in a call to pthread_mutex‐
attr_setkind_np, a deadlock can result if the current owner of a mutex
calls this routine in an attempt to lock the mutex a second time. If
you specified a recursive mutex in a call to pthread_mutex‐
attr_setkind_np, the current owner of a mutex can relock the same mutex
without blocking.
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
0 Successful comple‐
tion.
-1 [EINVAL] The value specified
by mutex is
invalid.
-1 [EDEADLK] A deadlock condi‐
tion is detected.
pthread_mutex_lock(3thr)