Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

       pthread_attr_setaffinity_npp, pthread_attr_getaffinity_np - stabilește/obține atributul de
       afinitate CPU în obiectul de atribute ale firului de execuție

BIBLIOTECA

       Biblioteca de fire de execuție POSIX (libpthread, -lpthread)

REZUMAT

       #define _GNU_SOURCE             /* Consultați 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);

DESCRIERE

       Funcția pthread_attr_setaffinity_np() stabilește atributul de mască de  afinitate  CPU  al
       obiectului  de  atribute  ale  firelor  la  care  se  face  referire prin attr la valoarea
       specificată în cpuset.  Acest atribut determină masca de afinitate CPU a unui fir creat cu
       ajutorul obiectului de atribute ale firului attr.

       Funcția  pthread_attr_getaffinity_np()  returnează  atributul de mască de afinitate CPU al
       obiectului de atribute ale firului de execuție la care  se  face  referire  prin  attr  în
       memoria tampon indicată de cpuset.

       Argumentul  cpusetsize  este lungimea (în octeți) a memoriei tampon la care indică cpuset.
       În mod obișnuit, acest argument ar trebui să fie specificat ca sizeof(cpu_set_t).

       Pentru mai multe detalii despre măștile de afinitate CPU, consultați sched_setaffinity(2).
       Pentru  o  descriere a unui set de macrocomenzi care pot fi utilizate pentru a manipula și
       inspecta seturile de CPU, consultați CPU_SET(3).

VALOAREA RETURNATĂ

       În caz de succes, aceste funcții returnează 0; în caz de eroare, ele returnează  un  număr
       de eroare diferit de zero.

ERORI

       EINVAL (pthread_attr_setaffinity_np()) cpuset a specificat o unitate centrală de procesare
              care nu face parte din setul  acceptat  de  nucleu.   (Opțiunea  de  configurare  a
              nucleului  CONFIG_NR_CPUS definește intervalul setului suportat de tipul de date al
              nucleului utilizat pentru a reprezenta seturile de unități centrale de procesare).

       EINVAL (pthread_attr_getaffinity_np())  O  unitate  centrală  de  procesare  în  masca  de
              afinitate  a  obiectului de atribute ale firelor la care se face referire prin attr
              se află în afara intervalului specificat  de  cpusetsize  (adică  cpuset/cpusetsize
              este prea mică).

       ENOMEM (pthread_attr_setaffinity_np()) Nu s-a putut aloca memorie.

VERSIUNI

       Aceste funcții sunt furnizate începând cu glibc 2.3.4.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

       ┌───────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │InterfațăAtributValoare │
       ├───────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │pthread_attr_setaffinity_np(),                             │ Siguranța firelor │ MT-Safe │
       │pthread_attr_getaffinity_np()                              │                   │         │
       └───────────────────────────────────────────────────────────┴───────────────────┴─────────┘

STANDARDE

       Aceste funcții sunt extensii GNU nestandardizate; de aici și sufixul „_np” („neportabilă”)
       din nume.

NOTE

       Numai  în  glibc  2.3.3,  au  fost furnizate versiuni ale acestor funcții care nu aveau un
       argument cpusetsize.  În schimb, dimensiunea setului de procesoare transmisă apelurilor de
       sistem subiacente era întotdeauna sizeof(cpu_set_t).

CONSULTAȚI ȘI

       sched_setaffinity(2),    pthread_attr_init(3),    pthread_setaffinity_np(3),    cpuset(7),
       pthreads(7)

TRADUCERE

       Traducerea în limba  română  a  acestui  manual  a  fost  creată  de  Remus-Gabriel  Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU
       Versiunea 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  sau  o  versiune  ulterioară  cu
       privire la condiții privind drepturile de autor.  NU se asumă Nicio RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui  manual,  vă  rugăm să trimiteți un e-mail la
       ⟨translation-team-ro@lists.sourceforge.net⟩.