Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pthread_mutexattr_gettype(3t) [hpux man page]

pthread_mutexattr_getpshared(3T)										  pthread_mutexattr_getpshared(3T)

NAME
pthread_mutexattr_getpshared(), pthread_mutexattr_setpshared(), pthread_mutexattr_gettype(), pthread_mutexattr_settype() - get and set the process-shared attribute and type attribute SYNOPSIS
PARAMETERS
attr Pointer to the mutex attributes object whose attributes are to be set/retrieved. pshared This parameter either specifies the new value of the process-shared attribute (set function) or points to the memory loca- tion where the process-shared attribute of attr is to be returned (get function). type This parameter either specifies the new value of the type attribute (set function) or points to the memory location where the type attribute of attr is to be returned (get function). DESCRIPTION
The attributes object attr must have been previously initialized with the function before these functions are called. ATTRIBUTE: pshared Mutexes can be used by threads only within a process or shared by threads in multiple processes. The process-shared attribute in a mutex attributes object describes who may use the mutex. The legal values for the process-shared attribute are: This option permits a mutex to be operated upon by any thread that has access to the memory where the mutex is allocated. The application is responsible for allocating the mutex in memory that multiple processes can access. The mutex can be operated upon only by threads created within the same process as the thread that initialized the mutex. If threads of differing processes attempt to operate on such mutex, the behavior is undefined. The default value of process-shared is is used to set the process-shared attribute in attr. The new value of the process-shared attribute of attr is set to the value specified in the pshared parameter. retrieves the value of the process-shared attribute from attr. The value of the process-shared attribute of attr is returned in the pshared parameter. ATTRIBUTE: type Mutexes can be created with four different types. The type of a mutex is contained in the type attribute of the mutex attributes object. Valid values for the type attribute are: This type of mutex does not provide deadlock detection. A thread attempting to relock this mutex without first unlocking it shall deadlock. An error is not returned to the caller. Attempting to unlock a mutex locked by a different thread results in undefined behavior. Attempting to unlock an unlocked mutex results in undefined behavior. This type of mutex provides error checking. An owner field is maintained. Only the mutex lock owner shall successfully unlock this mutex. A thread attempting to relock this mutex shall return with an error. A thread attempting to unlock a mutex locked by a different thread shall return with an error. A thread attempting to unlock an unlocked mutex shall return with an error. This type of mutex is useful for debug- ging. Deadlock cannot occur with this type of mutex. An owner field is maintained. A thread attempting to relock this mutex shall successfully lock the mutex. Multiple locks of this mutex shall require the same number of unlocks to release the mutex before another thread can lock the mutex. A thread attempting to unlock a mutex locked by a different thread shall return with an error. A thread attempting to unlock an unlocked mutex shall return with an error. This type of mutex does not provide deadlock detection. A thread attempting to relock this mutex without first unlocking it shall deadlock. An error is not returned to the caller. This type of mutex can be unlocked by a thread other than the owner. Attempting to unlock an unlocked mutex results in unde- fined behavior. Attempting to recursively lock a mutex of this type results in undefined behavior. Attempting to unlock a mutex locked by a different thread results in undefined behavior. Attempting to unlock an unlocked mutex results in undefined behavior. An implementation shall be allowed to map this mutex to one of the other mutex types. The default value of the type attribute is is used to set the type attribute in attr. The new value of the type attribute of attr is set to the value specified in the type parame- ter. retrieves the value of the type attribute from attr. The value of the type attribute of attr is returned in the type parameter. Never use a mutex with condition variables because the implicit unlock performed for a or may not actually release the mutex if it had been locked multiple times. If this situation happens, no other thread can satisfy the condition of the predicate. RETURN VALUE
Upon successful completion, and return zero. Otherwise, an error number is returned to indicate the error (the variable is not set). ERRORS
If any of the following occur, the and functions return the corresponding error number: is not defined and these functions are not supported. For each of the following conditions, if the condition is detected, the and functions return the corresponding error number: attr is not a valid mutex attributes object. The value specified by pshared or type is not a legal value. The value pshared or type points to an illegal address. WARNINGS
If a mutex is created with the process-shared attribute defined as the cooperating processes should have access to the memory in which the mutex is allocated. AUTHOR
and were derived from the IEEE POSIX P1003.1c standard. and were developed by X/Open. SEE ALSO
pthread_create(3T), pthread_mutexattr_init(3T), pthread_mutex_init(3T). STANDARDS CONFORMANCE
Pthread Library pthread_mutexattr_getpshared(3T)
Man Page