pthread_detach(3T) は、detachstate 属性を PTHREAD_CREATE_JOINABLE に設定して生成されたスレッドの記憶領域を再利用するための、pthread_join(3T) に代わるもう 1 つの方法です。
プロトタイプ: int pthread_detach(thread_t tid); #include <pthread.h> pthread_t tid; int ret; /* スレッド tid を切り離す */ ret = pthread_detach(tid); |
pthread_detach() 関数は、スレッド tid のための記憶領域がそのスレッドの終了時に再利用できることを、この実装に対して示すために使われます。tid が終了していない場合、pthread_detach() によって、そのスレッドが終了することはありません。同じスレッドに対して複数の pthread_detach() 呼び出しが行われたときの効果は不定です。
正常終了時は 0 です。それ以外の戻り値は、エラーが発生したことを示します。以下のいずれかの条件が検出されると、pthread_detach() は失敗し、対応する値を返します。