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

ИМЯ

       pthread_attr_setaffinity_np,  pthread_attr_getaffinity_np  - изменяет/возвращает атрибут увязывания ЦП из
       объекта атрибутов нити

LIBRARY

       POSIX threads library (libpthread, -lpthread)

СИНТАКСИС

       #define _GNU_SOURCE             /* Смотрите 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);

ОПИСАНИЕ

       Функция pthread_attr_setaffinity_np() изменяет атрибут маски увязывания ЦП в объекте атрибутов  нити,  на
       который  указывает  attr,  в  значение  cpuset. Данным атрибутом определяется маска увязывания ЦП у нити,
       созданной с учётом объекта атрибутов нити attr.

       Функция pthread_attr_getaffinity_np() возвращает атрибут маски увязывания ЦП из объекта  атрибутов  нити,
       на который указывает attr, в буфер на который указывает cpuset.

       В  аргументе  cpusetsize  указывается  длина буфера (в байтах), на который указывает cpuset. Обычно, этот
       аргумент должен задаваться как sizeof(cpu_set_t).

       Дополнительную информацию по маскам  увязывания  ЦП  смотрите  в  sched_setaffinity(2).  Описание  набора
       макросов, которые можно использовать для просмотра и изменения наборов ЦП, смотрите в CPU_SET(3).

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       При успешном выполнении эти функции возвращают 0; при ошибке возвращается ненулевой номер ошибки.

ОШИБКИ

       EINVAL (pthread_attr_setaffinity_np())  В  cpuset  указан ЦП, который находится вне набора поддерживаемых
              ядром (в параметре сборки ядра CONFIG_NR_CPUS определён диапазон для набора, поддерживаемого типом
              данных ядра, который используется для представления наборов ЦП).

       EINVAL (pthread_attr_getaffinity_np()) ЦП в маске  увязывания  из  объекта  атрибутов  нити,  на  который
              указывает  attr, находится вне диапазона, задаваемого cpusetsize (т. е., cpuset/cpusetsize слишком
              мал).

       ENOMEM (pthread_attr_setaffinity_np()) Невозможно выделить память.

ВЕРСИИ

       These functions are provided since glibc 2.3.4.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌─────────────────────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ ИнтерфейсАтрибутЗначение │
       ├─────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │ pthread_attr_setaffinity_np(), pthread_attr_getaffinity_np()        │ Безвредность в нитях │ MT-Safe  │
       └─────────────────────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

       Данные функции являются не стандартизированными расширениями GNU, о чём свидетельствует наличие  суффикса
       «_np» (nonportable).

ЗАМЕЧАНИЯ

       В  glibc  2.3.3  версии  этих  функций  не  имеют  аргумента  cpusetsize.  Вместо  него размер набора ЦП,
       передаваемый используемым системным вызовам, всегда равен sizeof(cpu_set_t).

СМ. ТАКЖЕ

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

ПЕРЕВОД

       Русский перевод этой страницы руководства был сделан Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>,
       kogamatranslator49   <r.podarov@yandex.ru>,   Kogan,   Max   Is   <ismax799@gmail.com>,    Yuri    Kozlov
       <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3
       или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо
       на man-pages-ru-talks@lists.sourceforge.net.

Linux man-pages 6.03                           15 декабря 2022 г.                 pthread_attr_setaffinity_np(3)