PTHREAD_JOIN(3) FreeBSD ライブラリ関数マニュアル PTHREAD_JOIN(3)
名称
pthread_join − スレッド終了の待機 |
ライブラリ
Reentrant C Library (libc_r, −pthread) |
書式
#include <pthread.h> int |
pthread_join(pthread_t thread, void **value_ptr); |
解説 |
pthread_join() 関数は、対象 thread がまだ終了していない場合には、その対象 thread が終了するまで、呼び出しているスレッドの実行を保留します。 NULL ではない value_ptr 引数を持つ pthread_join() の呼び出しから成功裏に 戻った時には、終了したスレッドによって pthread_exit() に渡された値が、 value_ptr によって参照される位置に格納されます。 pthread_join() が成功裏 に戻った時には、その対象スレッドは既に終了しています。同じ対象スレッドを 指定した複数で同時の pthread_join() の呼び出しによる結果は、未定義です。 pthread_join() を呼び出しているスレッドが取り消された場合には、その対象ス レッドはデタッチされません。 既に終了したが持ち受けされずに残っているスレッドは、 [_POSIX_THREAD_THREADS_MAX] に対してカウントされます。 |
戻り値
問題がない場合は、 pthread_join() 関数は 0 を返します。問題がある場合は、 そのエラーを示すためにエラー番号が返されます。 |
エラー
pthread_join() は以下の場合に失敗します。 |
[EINVAL]
thread によって指定された値が、待機されることが可能な スレッドを参照していないことを検出しました。 [ESRCH] [EDEADLK] 関連項目 |
規格
pthread_join() は ISO/IEC 9945-1:1996 (‘‘POSIX.1’’) に適合しています。 FreeBSD 10.0 April 4, 1996 FreeBSD 10.0 |