Purpose
This function is used to query the mutex type attribute in the mutex
attributes object identified by the argument mattr.
If this function completes successfully, value 0 is returned and the type
attribute will be returned through the argument type.
Class
Function
Argument Type and Attributes
- mattr
- TYPE(f_pthread_mutexattr_t), INTENT(IN)
- type
- INTEGER(4), INTENT(OUT)
On return from this function, type contains one of the following
values:
- PTHREAD_MUTEX_NORMAL
- This type of mutex does not detect deadlock. A thread attempting to
relock this mutex without first unlocking it will deadlock. Attempting
to unlock a mutex locked by a different thread results in undefined
behavior.
- PTHREAD_MUTEX_ERRORCHECK
- This type of mutex provides error checking. A thread attempting to
relock this mutex without first unlocking it will return with an error.
A thread attempting to unlock a mutex which another thread has locked will
return an error. A thread attempting to unlock an unlocked mutex will
return with an error.
- PTHREAD_MUTEX_RECURSIVE
- A thread attempting to relock this mutex without first unlocking it will
succeed in locking the mutex. The relocking deadlock that can occur
with mutexes of type PTHREAD_MUTEX_NORMAL cannot occur with this type
of mutex. Multiple locks of this mutex require the same number of
unlocks to release the mutex before another thread can acquire the
mutex.
Result Type and Attributes
INTEGER(4)
Result Value
On successful completion, this function returns 0. Otherwise,
this function returns the following error.
- EINVAL
- The argument is invalid.
