pthread_setcancelstate() は、スレッドの取り消し機能を有効 (使用可能) または無効 (使用不可) にします。スレッドが生成されると、デフォルトでは取り消し機能が有効になります。
プロトタイプ: int pthread_setcancelstate(int state, int *oldstate);
#include <pthread.h> int oldstate; int ret; /* 有効にする */ ret = pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &oldstate); /* 無効にする */ ret = pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &oldstate);
正常終了時は 0 です。それ以外の戻り値は、エラーが発生したことを示します。以下の条件が検出されると pthread_setcancelstate() は失敗し、対応する値を戻します。