Standard C Library Functions pthread_mutex_getprioceiling(3C)
NAME
pthread_mutex_getprioceiling, pthread_mutex_setprioceiling -
change priority ceiling of a mutexSYNOPSIS
cc -mt [ flag... ] file... -lpthread [ library... ]
#include
int pthread_mutex_getprioceiling(const pthread_mutex_t *restrict mutex,
int *restrict prioceiling);int pthread_mutex_setprioceiling(pthread_mutex_t *restrict mutex,
int prioceiling, int *restrict old_ceiling);
DESCRIPTION
The pthread_mutex_getprioceiling() function returns the
current priority ceiling of the mutex.The pthread_mutex_setprioceiling() function either locks the
mutex if it is unlocked, or blocks until it can successfully lock the mutex, then it changes the mutex's priority ceiling and releases the mutex. When the change is successful, the previous value of the priority ceiling is returned inold_ceiling. The process of locking the mutex need not
adhere to the priority protect protocol.If the pthread_mutex_setprioceiling() function fails, the
mutex priority ceiling is not changed.The ceiling value should be drawn from the range of priori-
ties for the SCHED_FIFO policy. When a thread acquires such
a mutex, the policy of the thread at mutex acquisition should match that from which the ceiling value was derived(SCHED_FIFO, in this case). If a thread changes its
scheduling policy while holding a ceiling mutex, thebehavior of pthread_mutex_lock() and pthread_mutex_unlock()
on this mutex is undefined. See pthread_mutex_lock(3C).
The ceiling value should not be treated as a persistentvalue resident in a pthread_mutex_t that is valid across
upgrades of Solaris. The semantics of the actual ceiling value are determined by the existing priority range for theSCHED_FIFO policy, as returned by the
sched_get_priority_min() and sched_get_priority_max() func-
tions (see sched_get_priority_min(3C)) when called on the
version of Solaris on which the ceiling value is beingSunOS 5.11 Last change: 1 Apr 2008 1
Standard C Library Functions pthread_mutex_getprioceiling(3C)
utilized.RETURN VALUES
Upon successful completion, thepthread_mutex_getprioceiling() and
pthread_mutex_setprioceiling() functions return 0. Other-
wise, an error number is returned to indicate the error.ERRORS
The pthread_mutex_getprioceiling() and
pthread_mutex_setprioceiling() functions may fail if:
EINVAL The value specified by mutex does not refer to a currently existing mutex.The pthread_mutex_setprioceiling() function will fail if:
EINVAL The mutex was not initialized with its protocol attribute having the value ofPTHREAD_PRIO_PROTECT.
EINVAL The priority requested by prioceiling is out of range. EPERM The caller does not have the privilege to perform the operation.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:SunOS 5.11 Last change: 1 Apr 2008 2
Standard C Library Functions pthread_mutex_getprioceiling(3C)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
| Standard | See standards(5). ||_____________________________|_____________________________|
SEE ALSO
pthread_mutex_init(3C), pthread_mutex_lock(3C),
sched_get_priority_min(3C), attributes(5), standards(5)
SunOS 5.11 Last change: 1 Apr 2008 3