Get a mutex's scheduling protocol
#include <pthread.h>
int pthread_mutexattr_getprotocol(
pthread_mutexattr * attr,
int * protocol );
libc
The pthread_mutexattr_getprotocol() function sets protocol to the current mutex attribute attr's scheduling protocol. The structure pointed to by attr must have been previously created with pthread_mutexattr_init().
The protocol attribute defines the protocol for using mutexes: Currently, protocol may be set to:
| Constant | Meaning |
|---|---|
| PTHREAD_PRIO_INHERIT | When a thread is blocking higher-priority threads by locking one or more mutexes with this attribute, the thread's priority is raised to that of the highest priority thread waiting on the PTHREAD_PRIO_INHERIT mutex. |
A thread holding a PTHREAD_PRIO_INHERIT mutex won't be moved to the tail of the scheduling queue if its original priority is changed (by a call to pthread_schedsetparam(), for example). This remains true if the thread unlocks the PTHREAD_PRIO_INHERIT mutex.
| The POSIX protocol of PTHREAD_PRIO_PROTECT isn't currently supported. |
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
pthread_mutexattr_setprotocol(), pthread_mutexattr_setrecursive()