pthread_mutexattr_getprioceiling oder pthread_mutexattr_setprioceiling Subroutine
Zweck
Ruft das Attribut prioceiling des Mutex-Attributobjekts ab und legt es fest.
Syntax
#include <pthread.h>
int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t *
restrict attr, int *restrict prioceiling);
int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *attr,
int prioceiling);Beschreibung
Die Subroutinen pthread_mutexattr_getprioceiling und pthread_mutexattr_setprioceiling rufen das Attribut "priority ceiling" eines Mutex-Attributobjekts ab, auf das der Parameter attr verweist, der zuvor von der Subroutine pthread_mutexattr_init erstellt wurde.
Das Attribut prioceiling enthält die Prioritätsgrenze initialisierter Mutexe. Die Werte des Parameters prioceiling liegen innerhalb des durch SCHED_FIFO definierten maximalen Bereichs von Prioritäten.
Der Parameter prioceiling definiert die Prioritätsgrenze von initialisierten Mutexen. Dies ist die minimale Prioritätsstufe, auf der der vom Mutex geschützte kritische Abschnitt ausgeführt wird. Um eine Inversion der Priorität zu vermeiden, wird die Prioritätsgrenze des Mutex auf eine Priorität gesetzt, die größer-gleich der höchsten Priorität aller Threads ist, die diesen Mutex sperren können. Die Werte des Parameters prioceiling liegen innerhalb des maximalen Prioritätsbereichs, der unter der Planungsrichtlinie SCHED_FIFO definiert ist.
Rückgabewerte
Nach erfolgreicher Beendigung geben die Subroutinen pthread_mutexattr_getprioceiling und pthread_mutexattr_setprioceiling null zurück. Andernfalls wird eine Fehlernummer zurückgegeben, um den Fehler anzuzeigen.
Fehlercodes
| Element | Beschreibung |
|---|---|
| EINVAL | Der mit dem Parameter Attribut oder prioceiling angegebene Wert ist ungültig. |
| ENOSYS | Diese Funktion wird nicht unterstützt (Entwurf 7). |
| ENOTSUP (ENOTSUP) | Diese Funktion wird nicht zusammen mit Prüfpunkt/Neustart unterstützt. |
| EPERM | Der Aufrufende verfügt nicht über die Berechtigung zum Ausführen der Operation in einer Umgebung mit strikter Einhaltung der Standards, in der die Umgebungsvariable XPG_SUS_ENV=ONangegeben ist. |