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

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

pthread_cleanup_pop(3T)

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

この関数への引数が 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); 

戻り値はありません。