Запросить прерывание выполнения потока (используя механизм точек остановки)
#include <pthread.h>int pthread_cancel( pthread_t thread );
libc
Функция pthread_cancel() запрашивает у целевого потока thread добровольное прерывание выполнения (потенциально приводящее к его терминированию). Состояние потока и заданный способ прерывания выполнения (см. PTHREAD_CANCEL_*) определяют эффект от подобного запроса.
Когда выполняется прерывание в целевом потоке выполняются соответствующие деструкторы (см. pthread_cleanup_push()). Когда последний из них вернет управление, целевой поток обработает TLS-деструкторы (см. pthread_key_create()). Только после этого поток терминируется. Прерывание целевого происходит асинхронно с вызывающим и не блокирует его.
POSIX 1003.1 Threads
pthread_cleanup_push(), pthread_cleanup_pop(), pthread_cond_wait(), pthread_cond_wait_interruptible(), pthread_cond_timedwait(), pthread_exit(), pthread_join(), pthread_key_create(), pthread_setcancelstate(), pthread_setcanceltype(), pthread_testcancel(), ThreadCancel()
Предыдущий раздел: Описание API системной библиотеки