Provided by: manpages-fr-dev_4.15.0-9_all bug

NOM

       pthread_attr_setaffinity_np,  pthread_attr_getaffinity_np  - Définir ou obtenir l'attribut
       d'affinité CPU d'un objet d'attributs de thread

SYNOPSIS

       #define _GNU_SOURCE             /* Consultez feature_test_macros(7) */
       #include <pthread.h>

       int pthread_attr_setaffinity_np(pthread_attr_t *attr,
                          size_t cpusetsize, const cpu_set_t *cpuset);
       int pthread_attr_getaffinity_np(const pthread_attr_t *attr,
                          size_t cpusetsize, cpu_set_t *cpuset);

       Compiler et éditer les liens avec -pthreads.

DESCRIPTION

       La fonction pthread_attr_setaffinity_np() définit l'attribut du masque d'affinité  CPU  de
       l'objet  d'attributs de thread auquel attr fait référence à la valeur indiquée par cpuset.
       Cet attribut détermine le masque d'affinité CPU d'un  thread  créé  en  utilisant  l'objet
       d'attributs de thread attr.

       La  fonction  pthread_attr_getaffinity_np()  renvoie,  dans  le  tampon pointé par cpuset,
       l'attribut du masque d'affinité CPU de l'objet d'attributs  de  thread  auquel  attr  fait
       référence.

       Le  paramètre  cpusetsize  est  la  longueur  (en  octets)  du  tampon  pointé par cpuset.
       Typiquement, ce paramètre sera sizeof (cpu_set_t).

       Pour plus de détails sur les masques d'affinité CPU, consultez sched_setaffinity(2).  Pour
       une  description d'un jeu de macros qui peuvent être utilisées pour manipuler et inspecter
       des ensembles de CPU, consultez CPU_SET(3).

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

       EINVAL (pthread_attr_setaffinity_np())  Le cpuset indiquait un CPU en dehors de l'ensemble
              pris en charge par le noyau (l'option  de  configuration  CONFIG_NR_CPUS  du  noyau
              définit  l'intervalle  de l'ensemble pris en charge par le type de données du noyau
              pour représenter les ensembles de CPU).

       EINVAL (pthread_attr_getaffinity_np()) Un CPU du masque d'affinité de l'objet  d'attributs
              de  thread  auquel attr fait référence réside en dehors de l'intervalle indiqué par
              cpusetsize (c'est-à-dire, cpuset/cpusetsize est trop petit).

       ENOMEM (pthread_attr_setaffinity_np()) Impossible d'allouer de la mémoire.

VERSIONS

       Ces fonctions sont fournies par la glibc depuis la version 2.3.4.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌────────────────────────────────────────────────────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├────────────────────────────────────────────────────────┼──────────────────────┼─────────┤
       │pthread_attr_setaffinity_np(),                          │ Sécurité des threads │ MT-Safe │
       │pthread_attr_getaffinity_np()                           │                      │         │
       └────────────────────────────────────────────────────────┴──────────────────────┴─────────┘

CONFORMITÉ

       Ces  fonctions  sont  des  extensions  GNU  non  standard ;  d'où  le suffixe « _np » (non
       portable) dans leur nom.

NOTES

       Dans la glibc 2.3.3, uniquement, les versions de ces fonctions n'avaient pas de  paramètre
       cpusetsize.  À  la  place,  la  taille  de  l'ensemble  de  CPU  fourni  à l'appel système
       sous-jacent était toujours sizeof(cpu_set_t).

VOIR AUSSI

       sched_setaffinity(2),    pthread_attr_init(3),    pthread_setaffinity_np(3),    cpuset(7),
       pthreads(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⟩.