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 можно указать следующие значения:
Значением по умолчанию для атрибута состояния отключённости в инициализируемом объекте атрибутов нити является PTHREAD_CREATE_JOINABLE.
Функция pthread_attr_getdetachstate() возвращает атрибут состояния отключённости нити у объекта атрибутов нити, на который указывает attr, в буфер на который указывает detachstate.
При успешном выполнении эти функции возвращают 0; при ошибке возвращается ненулевой номер ошибки.
Функция pthread_attr_setdetachstate() может завершиться со следующей ошибкой:
Описание терминов данного раздела смотрите в 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 |