Sous-routine thread_setsched
Objectif
Modiplace la règle de planification et la priorité d'une unité d'exécution de noyau.
Bibliothèque
Bibliothèque C standard (libc.a)
Syntaxe
Descriptif
La sous-routine Fil_ensemble_exécution modifie la règle de planification et la priorité d'une unité d'exécution de noyau. Les unités d'exécution utilisateur (pthreads) ont leurs propres attributs de planification qui, dans certains cas, permettent à un pthread de s'exécuter sur plusieurs unités d'exécution de noyau. Par conséquent, si la règle ou le changement de priorité est accordé pour le compte d'une unité de pthread, la portée du conflit pthreads doit être PTHREAD_SCOPE_SYSTEM.
Paramètres
| Article | Descriptif |
|---|---|
| ID d'unité d'exécution | Indique l'ID unité d'exécution du noyau de l'unité d'exécution dont la priorité et la règle doivent être modifiées. |
| priority | Indique la priorité à utiliser pour cette unité d'exécution de noyau. Le paramètre de priorité est ignoré si la règle est définie sur SCHED_OTHER. Le paramètre de priorité doit avoir une valeur comprise entre 0 et PRI_LOW. PRI_LOW est défini dans sys/pri.h. Pour plus d'informations sur les priorités des unités d'exécution, voir sys/pri.h . |
| policy | Indique la règle à utiliser pour cette unité d'exécution de noyau. Le paramètre de règle peut être l'une des valeurs suivantes, qui sont définies dans sys/sched.h:
|
Valeurs renvoyées
Une fois l'exécution terminée, la sous-routine Fil_ensemble_exécution renvoie une valeur de zéro. Si la sous-routine thread_setsched échoue, la valeur -1 est renvoyée et la variable globale errno est définie pour indiquer l'erreur.
Codes d'erreur
La sous-routine Fil_ensemble_exécution échoue si une ou plusieurs des informations suivantes sont vraies:
| Article | Descriptif |
|---|---|
| ESRCH | L'ID unité d'exécution du noyau D n'est pas valide. |
| EINVAL | La règle ou la priorité n'est pas valide. |
| EPERM | L'appelant n'a pas assez de privilèges pour modifier la règle ou la priorité. |