Content-type: text/html Man page of pthread_mutex_lock

pthread_mutex_lock

Section: C Library Functions (3)
Index Return to Main Contents
 

NAME

pthread_mutex_lock - Locks an unlocked mutex, blocking if necessary.  

LIBRARY

DECthreads POSIX 1003.1c Library (libpthread.so)  

SYNOPSIS

#include <pthread.h>

int pthread_mutex_lock(
                       pthread_mutex_t   *mutex);  

STANDARDS

Interfaces documented on this reference page conform to industry standards as follows:

IEEE Std 1003.1c-1995, POSIX System Application Program Interface  

PARAMETERS

Mutex to be locked.  

DESCRIPTION

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 desciption of pthread_mutexattr_settype(3).

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.

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.

 

RETURN VALUES

If an error condition occurs, this routine returns an integer value indicating the type of error. Possible return values are as follows: Successful completion. The value specified for mutex is invalid, or The mutex was created with the protocol attribute set to PTHREAD_PRIO_PROTECT and the calling thread's priority set higher than the mutex's current priority ceiling.) A deadlock condition is detected.  

ERRORS

None  

RELATED INFORMATION

Functions: pthread_mutexattr_settype(3), pthread_mutex_destroy(3), pthread_mutex_init(3), pthread_mutex_trylock(3), pthread_mutex_unlock(3)

Manuals: Guide to DECthreads and Programmer's Guide

delim off


 

Index

NAME
LIBRARY
SYNOPSIS
STANDARDS
PARAMETERS
DESCRIPTION
RETURN VALUES
ERRORS
RELATED INFORMATION

This document was created by man2html, using the manual pages.
Time: 02:41:40 GMT, October 02, 2010