ThreadDetach(), ThreadDetach_r()

Отсоединить поток от процесса

Прототип:

#include <sys/neutrino.h>
int ThreadDetach( int tid );
int ThreadDetach_r( int tid );

Аргументы:

tid
Идентификатор потока, получаемый из ThreadCreate(), который необходимо отвязать или 0, чтобы отвязать текущий поток.

Библиотека:

libc

Описание:

Эти вызовы ядра отвязывают поток с tid. Если tid равен нулю, используется вызывающий поток. Попытка вызвать ThreadJoin() на уже отвязанный tid провалится. Когда отвязанный поток завершается, его статус отклоняется, а все ресурсы освобождаются.

Функции ThreadDetach() и ThreadDetach_r() идентичны, за исключением способа сообщения об ошибках.


Note: Вместо использования вызовов ядра напрямую, пользуйтесь pthread_detach().

Состояния блокировки:

Эти вызовы не блокируют.

Возвращаемое значение:

ThreadDetach()
Если возникла ошибка функция возвращает -1, код ошибки записывается в errno. Любое другое возвращенное значение считается успешным завершением.
ThreadDetach_r()
EOK возвращается при успешном завершении. Функция НЕ устанавливает errno. При возникновении ошибки функция возвращает один из представленных ниже кодов.

Коды ошибок:

EINVAL
Поток уже отвязан.
ESRCH
Не существует потока с таким tid.

Классификация:

ЗОСРВ «Нейтрино»

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

pthread_detach(), ThreadCreate(), ThreadJoin()




Предыдущий раздел: Описание API системной библиотеки