Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pthread_mutexattr_gettype(3) [osf1 man page]

pthread_mutexattr_gettype(3)				     Library Functions Manual				      pthread_mutexattr_gettype(3)

NAME
pthread_mutexattr_gettype - Obtains the mutex type attribute in the specified mutex attributes object. LIBRARY
DECthreads POSIX 1003.1c Library (libpthread.so) SYNOPSIS
#include <pthread.h> int pthread_mutexattr_gettype( const pthread_mutexattr_t *attr, int *type); 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 attributes object whose mutex type attribute is obtained. Receives the value of the mutex type attribute. The type argument speci- fies the type of mutex that is created. Valid values are: PTHREAD_MUTEX_NORMAL PTHREAD_MUTEX_DEFAULT (default) PTHREAD_MUTEX_RECURSIVE PTHREAD_MUTEX_ERRORCHECK DESCRIPTION
This routine obtains the value of the mutex type attribute in the mutex attributes object specified by the attr argument and stores it in the location specified by the type argument. See the pthread_mutexattr_settype(3) routine description for information about mutex type attributes. RETURN VALUES
On successful completion, this routine returns the mutex type in the location by the type argument. 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 by attr is invalid. ERRORS
None RELATED INFORMATION
Functions: pthread_mutexattr_init(3), pthread_mutexattr_settype(3), pthread_mutex_init(3) Manuals: Guide to DECthreads and Programmer's Guide delim off pthread_mutexattr_gettype(3)

Check Out this Related Man Page

PTHREAD_MUTEXATTR(3)					   BSD Library Functions Manual 				      PTHREAD_MUTEXATTR(3)

NAME
pthread_mutexattr_init, pthread_mutexattr_destroy, pthread_mutexattr_settype, pthread_mutexattr_gettype -- mutex attribute operations LIBRARY
POSIX Threads Library (libpthread, -lpthread) SYNOPSIS
#include <pthread.h> int pthread_mutexattr_init(pthread_mutexattr_t *attr); int pthread_mutexattr_destroy(pthread_mutexattr_t *attr); int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type); int pthread_mutexattr_gettype(pthread_mutexattr_t * restrict attr, int * restrict type); DESCRIPTION
Mutex attributes are used to specify parameters to pthread_mutex_init(). Like with thread attributes, one attribute object can be used in multiple calls to pthread_mutex_init(3), with or without modifications between calls. The pthread_mutexattr_init() function initializes attr with all the default mutex attributes. The pthread_mutexattr_destroy() function destroys attr. The pthread_mutexattr_settype() functions set the mutex type value of the attribute. Valid mutex types are: PTHREAD_MUTEX_NORMAL This type of mutex does not check for usage errors. It will deadlock if reentered, and result in undefined behavior if a locked mutex is unlocked by another thread. Attempts to unlock an already unlocked PTHREAD_MUTEX_NORMAL mutex will result in undefined behavior. PTHREAD_MUTEX_ERRORCHECK These mutexes do check for usage errors. If an attempt is made to relock a PTHREAD_MUTEX_ERRORCHECK mutex without first dropping the lock, an error will be returned. If a thread attempts to unlock a PTHREAD_MUTEX_ERRORCHECK mutex that is locked by another thread, an error will be returned. If a thread attempts to unlock a PTHREAD_MUTEX_ERRORCHECK thread that is unlocked, an error will be returned. PTHREAD_MUTEX_RECURSIVE These mutexes allow recursive locking. An attempt to relock a PTHREAD_MUTEX_RECURSIVE mutex that is already locked by the same thread succeeds. An equivalent number of pthread_mutex_unlock(3) calls are needed before the mutex will wake another thread waiting on this lock. If a thread attempts to unlock a PTHREAD_MUTEX_RECURSIVE mutex that is locked by another thread, an error will be returned. If a thread attempts to unlock a PTHREAD_MUTEX_RECURSIVE thread that is unlocked, an error will be returned. It is advised that PTHREAD_MUTEX_RECURSIVE mutexes are not used with condition variables. This is because of the implicit unlocking done by pthread_cond_wait(3) and pthread_cond_timedwait(3). PTHREAD_MUTEX_DEFAULT Also this type of mutex will cause undefined behavior if reentered. Unlocking a PTHREAD_MUTEX_DEFAULT mutex locked by another thread will result in undefined behavior. Attempts to unlock an already unlocked PTHREAD_MUTEX_DEFAULT mutex will result in undefined behav- ior. This is the default mutex type for pthread_mutexaddr_init(). The pthread_mutexattr_gettype() functions copy the type value of the attribute to the location pointed to by the second parameter. RETURN VALUES
If successful, these functions return 0. Otherwise, an error number is returned to indicate the error. ERRORS
The pthread_mutexattr_init() function shall fail if: [ENOMEM] Insufficient memory exists to initialize the mutex attributes object. The pthread_mutexattr_settype() function shall fail if: [EINVAL] The value specified either by type or attr is invalid. No error numbers are defined for the pthread_mutexattr_destroy() and pthread_mutexattr_gettype() functions. SEE ALSO
pthread_mutex_init(3) STANDARDS
These functions conform to IEEE Std 1003.1-2001 (``POSIX.1''). BSD
July 9, 2010 BSD
Man Page