スレッドを取り消すには、pthread_cancel(3C) を使用します。
int pthread_cancel(pthread_t thread);
#include <pthread.h> pthread_t thread; int ret; ret = pthread_cancel(thread);
取り消し要求がどのように扱われるかは、対象となるスレッドの状態によって異なります。その状態を判定する関数として、pthread_setcancelstate(3C) と pthread_setcanceltype(3C) があります。
pthread_cancel() は、正常終了時に 0 を返します。それ以外の戻り値は、エラーが発生したことを示します。以下の条件が検出されると、この関数は失敗し、次の値を返します。
ESRCH
説明:指定されたスレッド ID に対応するスレッドが見つかりません。