tail head cat sleep
QR code linking to this page

manページ  — PTHREAD_EXIT

名称

pthread_exit – 呼び出しているスレッドの終了

内容

ライブラリ

Reentrant C\~Library (libc_r, -lc_r)

書式

#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() 関数は呼び出し側には戻れません。

エラー

ありません。

関連項目

_exit(2), exit(3), pthread_create(3), pthread_join(3)

規格

pthread_exit()IEEE Std 1003.1-96 ("POSIX.1") に適合しています。

PTHREAD_EXIT (3) April 4, 1996

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

Unix’s “power tools” are more like power switchblades that slice off the operator’s fingers quickly and efficiently.
— The Unix Haters' handbook