Set a mutex's priority ceiling
Synopsis:
#include <pthread.h>
int pthread_mutex_setprioceiling(
pthread_mutex_t* mutex,
int prioceiling,
int* old_ceiling );
Arguments:
- mutex
- A pointer to the pthread_mutex_t object that you want to
priority ceiling for.
- prioceiling
- The new value for the priority ceiling.
- old_ceiling
- A pointer to a location where the function can store the old value.
Library:
libc
Use the -l c option to
qcc
to link against this library.
This library is usually included automatically.
Description:
The pthread_mutex_setprioceiling() function locks
mutex (or blocks until it can lock it), changes its
priority ceiling to prioceiling, and releases it. When the
change is successful, the previous priority ceiling is returned in
old_ceiling.
Note:
In order to change the priority ceiling to a value above the maximum permitted for unprivileged processes,
your process must have the
PROCMGR_AID_PRIORITY ability enabled.
For more information, see
procmgr_ability().
Returns:
- EOK
- Success.
- EINVAL
- The mutex specified by mutex doesn't currently exist, or
the priority requested by prioceiling is out of range.
- EPERM
- The calling process doesn't have the required permission; see
procmgr_ability().
Classification:
POSIX 1003.1 RPP|TPP
Safety: |
|
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
Yes |
Thread |
Yes |