Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       pthread_attr_setinheritsched,  pthread_attr_getinheritsched  -  изменяет/возвращает  атрибут наследования
       планировщика из объекта атрибутов нити

БИБЛИОТЕКА

       Библиотека потоков POSIX (libpthread, -lpthread)

ОБЗОР

       #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);

ОПИСАНИЕ

       Функция pthread_attr_setinheritsched() изменяет атрибут наследования  планировщика  у  объекта  атрибутов
       нити,  на которую указывает attr, на значение, заданное в inheritsched. Атрибут наследования планировщика
       определяет будет ли нить, создаваемая с учётом объекта атрибутов нити  attr,  наследовать  свои  атрибуты
       планировщика от вызывающей нити или для этого будут использованы значения из attr.

       Атрибуты  планирования,  на  которые  влияет  атрибут  наследования  планировщика:  алгоритм планирования
       (pthread_attr_setschedpolicy(3)),  приоритет  планирования  (pthread_attr_setschedparam(3))   и   область
       конкурирования (pthread_attr_setscope(3)).

       В inheritsched можно указать следующие значения:

       PTHREAD_INHERIT_SCHED
              Нити,  создаваемые  с  учётом  attr,  наследуют  атрибуты планирования от создающей нити; атрибуты
              планирования attr игнорируются.

       PTHREAD_EXPLICIT_SCHED
              Нити, создаваемые с учётом attr, берут  значения  атрибутов  планирования  из  указанного  объекта
              атрибутов.

       Значением  по  умолчанию для атрибута наследования планировщика в инициализируемом объекте атрибутов нити
       является PTHREAD_INHERIT_SCHED.

       Функция pthread_attr_getinheritsched() возвращает атрибут наследования планировщика у  объекта  атрибутов
       нити, на который указывает attr, в буфер на который указывает inheritsched.

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

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

ОШИБКИ

       Функция pthread_attr_setinheritsched() может завершиться со следующей ошибкой:

       EINVAL Некорректное значение inheritsched.

       Для  pthread_attr_setinheritsched()  в  POSIX.1  также  описана  необязательная  ошибка ENOTSUP («попытка
       изменить атрибут на не поддерживаемое значение»).

АТРИБУТЫ

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

СТАНДАРТЫ

       POSIX.1-2008.

ИСТОРИЯ

       glibc 2.0.  POSIX.1-2001.

ОШИБКИ

       По состоянию на glibc 2.8, если объект атрибутов нити инициализирован с помощью pthread_attr_init(3),  то
       алгоритму  планирования  в объекте атрибутов присваивается SCHED_OTHER, а приоритет планирования равен 0.
       Однако, если затем атрибут наследования планировщика устанавливается в PTHREAD_EXPLICIT_SCHED,  то  нить,
       создаваемая  с  учётом  объекта  атрибутов, неправильно наследует свои атрибуты планирования от создающей
       нити.  Этот  дефект  не  проявляется,  если  значение  атрибута  алгоритма  планирования  или  приоритета
       планирования назначается явно в объекте атрибутов нити до вызова pthread_create(3).

ПРИМЕРЫ

       Смотрите pthread_setschedparam(3).

СМОТРИТЕ ТАКЖЕ

       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)

ПЕРЕВОД

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

       Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                  pthread_attr_setinheritsched(3)