本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 3 : ライブラリ (N~Z) > p

pthread_exit(3T)

pthread ライブラリ
HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

pthread_exit() ― 呼び出し元スレッドの終了

構文

#include <pthread.h> 
 
void pthread_exit( 
   void *value_ptr 
); 

パラメータ

value_ptr  

呼び出し元スレッドの終了ステータス。

説明

pthread_exit() は、呼び出したスレッドを終了させます。 呼び出し元スレッドは、終了ステータスとして value_ptr 内の値を返します。 この値は、終了スレッドに対して pthread_join() 呼び出しを行った結合スレッドに返されます。 detachstate 属性を PTHREAD_CREATE_JOINABLE にして作成されたスレッドだけが、終了ステータスを pthread_join() に返すことができます。 デタッチされたスレッドの終了ステータスは、スレッドが終了するときに失われます。

スレッドが終了しても、プロセス共有リソースは解放されません。 プロセス共有リソースには、mutex、条件変数、セマフォ、メッセージ待ち行列記述子、ファイル記述子などがあります。 プロセスの終了と同様の手順でスレッドが終了しても、 atexit() ルーチンは呼び出されません。

スレッドがその開始ルーチンから戻ると、 pthread_exit() への暗黙の呼び出しが行われます。 関数の終了ステータスは、スレッドの終了ステータスとして使用されます pthread_create(3T) を参照)。 pthread_exit() を呼び出さずに main() から戻ると、メインスレッドは main() の戻り値を終了ステータスにしてプロセスを終了させます。 メインスレッドで pthread_exit() を呼び出すと、 最後のスレッドが終了するか、スレッドが exit() を呼び出すまで、プロセスは実行を継続します。 プロセスの最後のスレッドが終了すると、プロセスは終了ステータスをゼロにして終了します。

登録されたすべての取り消しクリーンアップハンドラーが取り出され、登録とは逆順に実行されます。 取り消しクリーンアップハンドラーの実行が完了すると、デストラクタ関数に結び付けられたスレッド固有データ値が NULL でない場合は、対応するデストラクタ関数が呼び出されます。 デストラクタ関数が呼び出される順序は、規定されていません。

スレッドを終了させるために、取り消しクリーンアップハンドラーまたはデストラクタ関数から pthread_exit() を呼び出すと、結果は不定になります。

スレッドが終了した後で、スレッドのローカル (自動) 変数をアクセスすると、結果は不定になります。 終了するスレッドは、 value_ptr パラメータでローカル変数を指定してはいけません。

戻り値

なし。

エラー

なし。この関数は戻りません。

著者

pthread_exit() は、IEEE POSIX P1003.1c 標準から派生しました。

標準準拠

pthread_exit(): POSIX 1003.1c.

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.