pthread_mutexattr_getprotocol()
QNX SDP8.0C Library ReferenceAPIDeveloper
Get a mutex's scheduling protocol
Synopsis:
#include <pthread.h>
int pthread_mutexattr_getprotocol(
pthread_mutexattr * attr,
int * protocol );
Arguments:
- attr
- A pointer to the pthread_mutexattr_t object that you want to get the attribute from.
- protocol
- A pointer to a location where the function can store the scheduling protocol.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
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:
- 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.
- PTHREAD_PRIO_PROTECT
- The thread executes at the highest priority or priority ceilings of all the mutexes owned by the thread and initialized with PTHREAD_PRIO_PROTECT, whether other threads are blocked or not.
- PTHREAD_PRIO_NONE
- Owning the mutex doesn't affect the priority and scheduling of the thread.
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.
Returns:
- EOK
- Success.
Classification:
Safety: | |
---|---|
Cancellation point | No |
Signal handler | Yes |
Thread | Yes |
Page updated: