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

スタックからハンドラを取り出す

pthread_cleanup_pop(3THR)

pthread_cleanup_pop(3THR) は、クリーンアップハンドラをクリーンアップスタックから取り出します。

この関数への引数が 0 以外なら、指定のハンドラがスタックから取り除かれて実行されます。引数が 0 の場合は、ハンドラはポップされるだけで実行されません。

0 以外の引数を指定して pthread_cleanup_pop() を有効に呼び出せるのは、スレッドが pthread_exit(3T) を明示的または暗黙的に呼び出した場合か、取り消し要求を受け付けた場合です。


プロトタイプ:
void pthread_cleanup_pop(int execute);

#include <pthread.h>

/* 「func」をクリーンアップスタックからポップし、「func」を実行する */
pthread_cleanup_pop (1);

/* 「func」をポップするが、「func」を実行しない */
pthread_cleanup_pop (0);

戻り値はありません。