マルチスレッドのプログラミング

pthread_setcancelstate(3THR)

pthread_setcancelstate(3THR) は、スレッドの取り消し機能を有効 (使用可能) または無効 (使用不可) にします。スレッドが生成されると、デフォルトでは取り消し機能が有効になります。


プロトタイプ:

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() は失敗し、対応する値を戻します。


EINVAL

状態が PTHREAD_CANCEL_ENABLE でも PTHREAD_CANCEL_DISABLE でもありません。