pthread_mutex_lock - Locks an unlocked mutex
pthread_mutex_t *mutex );
DECthreads POSIX 1003.1c Library (libpthread.so)
Interfaces documented on this reference page conform to
industry standards as follows:
IEEE Std 1003.1c-1995, POSIX System Application Program
Mutex to be locked.
This routine locks a mutex with behavior that depends upon
the type of mutex, as follows: If a normal or default
mutex is specified, a deadlock can result if the current
owner of the mutex calls this routine in an attempt to
lock the mutex a second time. (The deadlock is not
detected or reported.) If a recursive mutex is specified,
the current owner of the mutex can relock the same mutex
without blocking. The lock count is incremented for each
recursive lock within the thread. If an errorcheck mutex
is specified and the current owner tries to lock the mutex
a second time, this routine reports the [EDEADLK] error.
If the mutex is locked by another thread, the calling
thread waits for the mutex to become available.
Use the pthread_mutexattr_settype(3) routine to set the
type of the mutex to normal, default, recursive, or
errorcheck. For more information about types of mutexes,
see the description of pthread_mutexattr_settype(3).
The thread that has locked a mutex becomes its current
owner and remains its 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
A recursive or errorcheck mutex records the identity of
the thread that locks it, allowing debuggers to display
this information. In most cases, normal and default
mutexes do not record the owning thread's identity.
If an error condition occurs, this routine returns an
integer value indicating the type of error. Possible
return values are as follows: Successful completion. A
deadlock condition is detected. The value specified by
mutex is not a valid mutex.
Manuals: Guide to DECthreads and Programmer's Guide
[ Back ]