Silphire (7255) の日記
2003 年 01 月 07 日
午後 11:50
pthread日記(4) - pthread_cleanup_push()
スレッドが終了する時に呼び出されるcancellation handlerを登録します。
void pthread_cleanup_push(void (*routine)(void*), void *arg);
cancellation handler
cancellation handlerとは、C++のdestructorや、Cのatexit()のように、スレッドが終了する時に実行されるプログラムです。具体的には、以下のような時に呼び出されます。
- スレッドが終了した時。
- スレッドに対して、外部からスレッドが強制的に終了させられた時。(pthread_cancel()による)
- スレッド自身が、pthread_cleanup_pop()を引数に非0を与えて呼び出した時。
pthread_cleanup_push()の最初の引数routineは、cancellation handlerの関数へのポインタで、pthread_cleanup_push()の引数から分かる通り
void *routine(void *arg);
というような形をしています。
2つ目の引数argは、上述のroutineに与える引数です。
この議論は賞味期限が切れたので、アーカイブ化されています。
新たにコメントを付けることはできません。
routien (スコア:1)
Re:routien (スコア:1)
既に指が覚えてしまっていて、無意識のうちにroutienと打ってしまいます。
Re:routien (スコア:1)
ダメすぎということはありません、正答率が25%に上昇していました。
# 寝ます~
Re:routien (スコア:1)