PTHREAD_EXIT(3) FreeBSD ライブラリ関数マニュアル PTHREAD_EXIT(3)
名称
pthread_exit − 呼び出しているスレッドの終了 |
ライブラリ
Reentrant C Library (libc_r, −pthread) |
書式
#include <pthread.h> void |
pthread_exit(void *value_ptr); |
解説 |
pthread_exit() 関数は、呼び出しているスレッドを終了し、終了するスレッドと 成功裏に待ち受けするために value_ptr の値を利用可能にします。既にスタック に積まれていて取り出されていない取り消しクリーンアップハンドラは、積まれ たのと逆の順序で取り出され、実行されます。全ての取り消しハンドラが実行さ れた後で、スレッドがそのスレッド固有のデータを持っている場合には、適切な デストラクタ関数が順序不定で呼び出されます。スレッドの終了は、アプリケー ションから見える全てのプロセスリソースを解放しません。このリソース は、mutex およびファイル記述子を含みますが、これに限りません。また、あら ゆるプロセスレベルのクリーンアップの実行も行ないません。このクリーンアッ プは、存在する可能性のある atexit() ルーチンの呼び出しを含みますが、これ に限りません。 main() を最初に実行したスレッド以外のスレッドが、その作成に使用された開始 ルーチンから戻った時に、暗黙的に pthread_exit() が呼び出されます。関数の 戻り値は、スレッドの終了ステータスとして使用されます。 暗黙的なまたは明示的な pthread_exit() の呼び出しの結果として実行された取 り消しハンドラまたはデストラクタ関数から呼び出された場合の、 pthread_exit() の動作は未定義です。 スレッドが終了した後での、そのスレッドのローカル (auto) 変数へのアクセス の結果は未定義です。従って、終了するスレッドのローカル変数への参照は、 pthread_exit() の value_ptr パラメータの値に使用されるべきではありませ ん。 最後のスレッドが終了した後で、プロセスは終了ステータス 0 で終了します。ス レッド終了時に実装が引数 0 で exit() を呼び出したかのように動作します。 |
戻り値
pthread_exit() 関数は呼び出し側には戻れません。 |
エラー
ありません。 |
関連項目
規格
pthread_exit() は ISO/IEC 9945-1:1996 (‘‘POSIX.1’’) に適合しています。 FreeBSD 10.0 April 4, 1996 FreeBSD 10.0 |