EN JA
PTHREAD_EXIT(3)
PTHREAD_EXIT(3) FreeBSD Library Functions Manual PTHREAD_EXIT(3)

名称

pthread_exit呼び出しているスレッドを終了する

ライブラリ

POSIX Threads Library (libpthread, -lpthread)

書式

#include < pthread.h>

void
pthread_exit( void *value_ptr);

解説

pthread_exit() 関数は、呼び出しているスレッドを終了し、値 value_ptr を終了しているスレッドとともに成功して利用可能とします。プッシュされていて、まだポップされないあらゆる取り消しクリーンアップハンドラは、プッシュされたのと逆の順序でポップされ、次に、実行されます。すべての取り消しハンドラが実行された後、スレッドに任意のスレッド特有のデータがあるなら、適切なデストラクタ関数は、不特定な順序で呼び出されます。スレッドの終了は、ミューテックとファイル記述子を含むがこれに限定されるものではないあらゆるアプリケーションの目に見えるプロセスのリソースを解放しませんし、存在するかもしれない 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”) に適合しています。
April 4, 1996 FreeBSD