PTHREAD_MUTEX_LOCK(3) BSD Programmer's Manual PTHREAD_MUTEX_LOCK(3)
pthread_mutex_lock - lock a mutex
#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.
pthread_mutex_lock() will fail if: [EBUSY] Currently mutex is locked by another thread. [EINVAL] The value specified by mutex is invalid. [EDEADLK] A deadlock would occur if the thread blocked waiting for mutex.
pthread_mutex_destroy(3), pthread_mutex_init(3), pthread_mutex_trylock(3), pthread_mutex_unlock(3)
pthread_mutex_lock() conforms to ISO/IEC 9945-1:1996 ("POSIX.1"). MirBSD #10-current July 30, 1998 1