kazmax - Linux で自宅サーバー

pthread_detach - ライブラリコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. エラー
  6. 著者
  7. 関連項目

名前

pthread_detach - 実行中のスレッドをデタッチ状態にする

書式

#include <pthread.h>
int pthread_detach(pthread_t th );

説明

"pthread_detach" はスレッド "th" をデタッチ状態にする。これは "th" が終了したときに、 "th" によって消費されていたメモリ資源を即座に解放することを保証する。 しかしながら、これによって他のスレッドは "pthread_join" を用いて "th" の終了に同期することができなくなる。
スレッドは   pthread_create (3) の属性に "detachstate" を用いることによって、最初からデタッチ状態で生成 することができる。 これに対し、 "pthread_detach" は合流可能状態として生成され、後にデタッチ状態にする必要の出てきた スレッドに適用される。
"pthread_detach" が完了した後、 "th" に対して "pthread_join" を実行しても失敗する。もし "pthread_detach" が呼ばれた時に別のスレッドがスレッド "th" の終了を待っている (joining) ならば、 "pthread_detach" は何もせず、 "th" を合流可能状態のままにしておく。

返り値

成功すると 0 が返る。エラーの場合は、非 0 のエラーコードが返る。

エラー

"ESRCH"
"th" で指定したスレッドが見つからない。
"EINVAL"
スレッド "th" は既にデタッチ状態にある。

著者

Xavier Leroy <Xavier.Leroy@inria.fr>

関連項目

  pthread_create (3),   pthread_join (3),  pthread_attr_setdetachstate (3)