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”).