PTHREAD_ATTR_SETDETACHSTATE(3) Руководство программиста Linux PTHREAD_ATTR_SETDETACHSTATE(3)

ИМЯ

pthread_attr_setdetachstate, pthread_attr_getdetachstate - изменяет/возвращает из объекта атрибутов нити атрибут отключённости

ОБЗОР

#include <pthread.h>
int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
int pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate);
Компилируется и компонуется вместе с -pthread.

ОПИСАНИЕ

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

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

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

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

Функция pthread_attr_getdetachstate() возвращает атрибут состояния отключённости нити у объекта атрибутов нити, на который указывает attr, в буфер на который указывает detachstate.

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

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

ОШИБКИ

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

Указано неверное значение в detachstate.

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).

Интерфейс Атрибут Значение
pthread_attr_setdetachstate(), pthread_attr_getdetachstate() Безвредность в нитях MT-Safe

СООТВЕТСТВИЕ СТАНДАРТАМ

POSIX.1-2001, POSIX.1-2008.

ЗАМЕЧАНИЯ

Дополнительную информацию об отключённых и присоединяемых нитях смотрите в pthread_create(3).

Нить, созданная в присоединяемом состоянии, должна быть в последствии присоединена с помощью pthread_join(3) или отключена с помощью pthread_detach(3); смотрите pthread_create(3).

Если указать ID нити, которая была создана в отключённом состоянии в вызове pthread_detach(3) или pthread_join(3), то возникает ошибка.

ПРИМЕР

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

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

pthread_attr_init(3), pthread_create(3), pthread_detach(3), pthread_join(3), pthreads(7)

2017-09-15 Linux