pthread_mutexattr_getprotocol Subroutine Purpose Returns the value of the protocol attribute of a mutex attributes object. Library Threads Library (libpthreads.a) Syntax #include
int pthread_mutexattr_getprotocol (attr, protocol) const pthread_mutexattr_t *attr; int *protocol; Description The pthread_mutexattr_getprotocol subroutine returns the value of the protocol attribute of the mutex attributes object attr. This attribute specifies the protocol used to prevent priority inversions for the mutex created with this attributes object. It may have one of the following values: PTHREAD_PRIO_NONE Denotes no protocol. This is the default value. PTHREAD_PRIO_INHERIT Denotes priority inheritance protocol. It is only available if the _POSIX_THREAD_PRIO_INHERIT symbol is defined. Otherwise, it is not supported. PTHREAD_PRIO_PROTECT Denotes priority protection protocol. It is only available if the _POSIX_THREAD_PRIO_PROTECT symbol is defined. Otherwise, it is not supported. Note: The pthread.h header file must be the first included file of each source file using the threads library. Parameters attr Specifies the mutex attributes object. protocol Points to where the protocol attribute value will be stored Return Values Upon successful completion, the value of the protocol attribute is returned via the protocol parameter, and 0 is returned. Otherwise, an error code is returned. Error Codes The pthread_mutexattr_getprotocol subroutine is unsuccessful if the following is true: EINVAL The attr parameter is not valid. ENOSYS Both priority inheritance and priority protection POSIX options are not implemented. EPERM The calling thread does not have sufficient privilege to perform the operation. Implementation Specifics This subroutine is part of the Base Operating System (BOS) Runtime. The implementation of this subroutine is dependent on the priority inheritance or priority protection POSIX option. Both priority inheritance and priority protection POSIX options are not implemented in the current version of AIX. Related Information The pthread_mutexattr_setprotocol subroutine, pthread_mutexattr_init subroutine. Synchronization Scheduling. Threads Library Options and Threads Library Quick Reference.