PTHREAD_ATTR_SETINHERITSCHED

Manuel du programmeur Linux (3)
21 avril 2014
 

NOM

pthread_attr_setinheritsched, pthread_attr_getinheritsched - Définir ou obtenir l'attribut d'héritage d'ordonnancement d'un objet d'attributs de thread  

SYNOPSIS

#include <pthread.h>

int pthread_attr_setinheritsched(pthread_attr_t *attr,
                                 int inheritsched);
int pthread_attr_getinheritsched(pthread_attr_t *attr,
                                 int *inheritsched);

Compilez et effectuez l'édition des liens avec l'option -pthread.
 

DESCRIPTION

La fonction pthread_attr_setinheritsched() définit l'attribut d'héritage d'ordonnancement de l'objet d'attributs de thread auquel attr fait référence à la valeur indiquée par inheritsched. Cet attribut détermine si un thread créé en utilisant l'objet d'attributs de thread attr héritera les paramètres d'ordonnancement du thread appelant, ou prendra la valeur fournie par attr.

Les attributs d'ordonnancement suivants dépendent de l'attribut d'ordonnancement hérité : la politique d'ordonnancement (pthread_attr_setschedpolicy(3)), la priorité d'ordonnancement (pthread_attr_setschedparam(3)), et l'arbitrage de compétitions (pthread_attr_setscope(3)).

Les valeurs suivantes peuvent être spécifiées dans inheritsched :

PTHREAD_INHERIT_SCHED
Les threads qui sont créés en utilisant attr héritent des attributs d'ordonnancement du thread appelant. Les attributs d'ordonnancement dans attr sont ignorés.
PTHREAD_EXPLICIT_SCHED
Les threads qui sont créés en utilisant attr prennent comme attributs d'ordonnancement les valeurs spécifiées dans l'objet d'attributs de thread.

La valeur par défaut de l'attribut d'ordonnancement pour un nouvel objet d'attributs de thread est PTHREAD_INHERIT_SCHED.

La fonction pthread_attr_getinheritsched() renvoie, dans le tampon pointé par inheritsched, l'attribut contenant l'ordonnancement de l'objet d'attributs de thread auquel attr fait référence.  

VALEUR RENVOYÉE

En cas de réussite, ces fonctions renvoient 0 ; en cas d'erreur elles renvoient un numéro d'erreur non nul.  

ERREURS

pthread_attr_setinheritsched() peut échouer avec les erreurs suivantes :
EINVAL
Valeur invalide pour inheritsched.

POSIX.1-2001 documente également une erreur ENOTSUP (tentative de définition de la priorité à une valeur non prise en charge) pour pthread_attr_setinheritsched().  

ATTRIBUTS

 

Multithreading (voir pthreads(7))

Les fonctions pthread_attr_setinheritsched() et pthread_attr_getinheritsched() sont sûres dans un contexte multithread.  

CONFORMITÉ

POSIX.1-2001.  

BOGUES

Dans glibc 2.8, si un objet d'attributs de thread est initialisé avec pthread_attr_init(3), alors la politique d'ordonnancement de l'objet des attributs est mis à SCHED_OTHER et la priorité d'ordonnancement à 0. Cependant, si l'attribut d'héritage d'ordonnancement est mis à PTHREAD_EXPLICIT_SCHED,un thread créé avec l'objet d'attributs de thread va hériter de manière erronée des attributs d'ordonnancement du thread appelant. Pour éviter cette erreur, il faut positionner soit la politique d'ordonnancement, soit l'attribut de priorité d'ordonnancement, de manière explicite dans l'objet d'attributs de thread avant d'appeler pthread_create(3).  

EXEMPLE

Consultez pthread_setschedparam(3).  

VOIR AUSSI

sched_setscheduler(2), pthread_attr_init(3), pthread_attr_setschedparam(3), pthread_attr_setschedpolicy(3), pthread_attr_setscope(3), pthread_create(3), pthread_setschedparam(3), pthread_setschedprio(3), pthreads(7)  

COLOPHON

Cette page fait partie de la publication 3.66 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.  

TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Denis Barbier (2010).

Veuillez signaler toute erreur de traduction en écrivant à <perkamon-fr@traduc.org>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».


 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
ATTRIBUTS
Multithreading (voir pthreads(7))
CONFORMITÉ
BOGUES
EXEMPLE
VOIR AUSSI
COLOPHON
TRADUCTION

This document was created by man2html, using the manual pages.
Time: 21:52:40 GMT, July 12, 2014