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

取り消しを有効または無効にする

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

pthread_setcancelstate の構文

int pthread_setcancelstate(int state, int *oldstate);
#include <pthread.h>

int oldstate;
int ret;

/* enabled */
ret = pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &oldstate);

/* disabled */
ret = pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &oldstate);

pthread_setcancelstate の戻り値

pthread_setcancelstate() は、正常終了時に 0 を返します。それ以外の戻り値は、エラーが発生したことを示します。以下の条件が検出されると pthread_setcancelstate() は失敗し、対応する値を戻します。


EINVAL

説明:

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