Content-type: text/html Man page of pthread_mutex_trylock

pthread_mutex_trylock

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

NAME

pthread_mutex_trylock - Attempts to lock the specified mutex, without waiting if already locked.  

LIBRARY

DECthreads POSIX 1003.1c Library (libpthread.so)  

SYNOPSIS

#include <pthread.h>

int pthread_mutex_trylock(
                       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 attempts to lock the mutex specified in the mutex argument. When a thread calls this routine, an attempt is made to immediately lock the mutex. If the mutex is successfully locked, this routine returns zero (0) and the calling thread becomes the mutex's current owner. If the specified mutex is locked when a thread calls this routine, the calling thread does not wait for the mutex to become available.

The behavior of this routine is as follows: For a normal, default, or errorcheck mutex: if the mutex is locked by any thread (including the calling thread) when this routine is called, this routine returns [EBUSY] and the calling thread does not wait to acquire the lock. For a normal or errorcheck mutex: if the mutex is not owned, this routine returns zero (0) and the mutex becomes locked. For a recursive mutex: if the mutex is owned by the calling thread, this routine returns zero (0) and the mutex lock count is incremented. (To unlock a recursive mutex, each call to pthread_mutex_trylock(3) must be matched by a call to pthread_mutex_unlock(3).)

Use the pthread_mutexattr_settype(3) routine to set the mutex type attribute (normal, default, recursive, or errorcheck).

 

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 mutex is already locked; therefore, it was not acquired. The value specified by 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.  

ERRORS

None  

RELATED INFORMATION

Functions: pthread_mutexattr_settype(3), pthread_mutex_destroy(3), pthread_mutex_init(3), pthread_mutex_lock(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:40:59 GMT, October 02, 2010