Provided by: manpages-fr-dev_4.13-4_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.10 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 ⟨⟩.