pthread_mutex_lock
—
lock a mutex
POSIX Threads Library (libpthread,
-lpthread)
#include
<pthread.h>
int
pthread_mutex_lock
(pthread_mutex_t
*mutex);
The
pthread_mutex_lock
()
function locks mutex. If the mutex is already locked,
the calling thread will block until the mutex becomes available.
If successful, pthread_mutex_lock
() will
return zero, otherwise an error number will be returned to indicate the
error.
The pthread_mutex_lock
() function will
fail if:
- [
EINVAL
]
- The value specified by mutex is invalid.
- [
EDEADLK
]
- A deadlock would occur if the thread blocked waiting for
mutex.
- [
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_lock
() function conforms
to ISO/IEC 9945-1:1996
(“POSIX.1”).