pthread_abort()

Завершить поток

Прототип:

#include <pthread.h>
int pthread_abort( pthread_t thread );

Аргументы:

thread
Идентификатор потока, который нужно завершить. Он может быть получен путем вызова pthread_create() или pthread_self().

Библиотека:

libc

Описание:

Функция pthread_abort() завершает указанный поток. Завершение происходит незамедлительно и вне зависимости от имеющихся точек остановки потока. Обработчики точек остановки или потоко-специфичные деструкторы (TLS) не вызываются. Прерывание потока не освобождает какие-либо ресурсы процесса, включая, но не ограничиваясь, мьютексами и файловыми дескрипторами. (Поведение последующих POSIX-вызовов, следующих после после вызова pthread_abort() не определено).

Статус потока PTHREAD_ABORTED будет одинаковым для указанного потока и потока, находящегося в присоединенном (joined) состоянии. Статус PTHREAD_ABORTED является константным выражением типа void *. Его значение не соответствует ни одному указателю на объект в памяти или значениям NULL и PTHREAD_CANCELED.

Побочными эффектам завершения потока вызовом фунции стандарта POSIX 1003.1 являются такие эффекты, которые могут наблюдаться для однопоточного процесса при вызове фунции стандарта POSIX 1003.1, перываемой сигналом и возвращающей значение EINTR. Любые подобные побочные эффекты возникают до завершения потока.

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

EOK
Успешное завершение.
ESRCH
Поток с указанным идентификатором не найден.

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

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

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

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

pthread_cancel(), pthread_detach(), pthread_exit(), ThreadDestroy()




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