PTHREAD_ATTR_SETINHERITSCHED(3)

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(const pthread_attr_t *restrict attr,
                                 int *restrict inheritsched);

Compiler et éditer les liens avec -pthreads.

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 succès, ces fonctions renvoient 0 ; en cas d'erreur, elles renvoient un code d'erreur non nul.

ERREURS
pthread_attr_setinheritsched() peut échouer avec les erreurs suivantes :

EINVAL
    Valeur invalide pour inheritsched.

POSIX.1 also documents an optional ENOTSUP error ("attempt was made to set the attribute to an unsupported value") for pthread_attr_setinheritsched().

ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur
pthread_attr_setinheritsched(), pthread_attr_getinheritsched() | Sécurité des threads | MT-Safe

CONFORMITÉ
POSIX.1-2001, POSIX.1-2008.

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).

EXEMPLES
Consultez pthread_setschedparam(3).

VOIR AUSSI
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), sched(7)

COLOPHON
Cette page fait partie de la publication 5.13 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Frédéric Hantrais <fhantrais@gmail.com> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.