Поток, использующий pthread, может иметь следующие состояния отмены:
PTHREAD_CANCEL_ENABLE
PTHREAD_CANCEL_DISABLE
Если вы пытаетесь отменить поток, вы не на 100% знаете, действительно ли поток будет отменен.Использование объединения предоставляет вам информацию, если поток действительно был отменен или нет.Есть также типы отмены, которые необходимо учитывать, и соответствующие функции pthread для установки типа и состояния отмены:
int pthread_setcancelstate (int state, int *oldstate);
int pthread_setcanceltype (int type, int *oldtype);
Вот пример кода, заимствованного из http://www.ijon.de/comp/tutorials/threads/cancel.html
РЕДАКТИРОВАТЬ: Либо яслишком глуп, чтобы опубликовать несколько строк кода, или форматер действительно сегодня действует мне на нервы.Просто посмотрите код по ссылке выше, пожалуйста.