pthread_detach(3C) は、detachstate 属性を PTHREAD_CREATE_JOINABLE に設定して生成されたスレッドの記憶領域を再利用するため、pthread_join(3C) の代わりに利用できます。
int pthread_detach(pthread_t tid);
#include <pthread.h> pthread_t tid; int ret; /* detach thread tid */ ret = pthread_detach(tid);
pthread_detach() 関数は、スレッド tid のための記憶領域がそのスレッドの終了時に再利用できることを、アプリケーションに対して示すために使われます。スレッドは、必要なくなった時点で切り離すべきです。tid が終了していない場合、pthread_detach() によって、そのスレッドが終了することはありません。
pthread_detach() は、正常終了時に 0 を返します。それ以外の戻り値は、エラーが発生したことを示します。以下のいずれかの条件が検出されると、pthread_detach() は失敗し、対応する値を返します。
EINVAL
説明:tid は切り離されたスレッドです。
ESRCH
説明:tid は、現在のプロセスの中の有効な切り離されていないスレッドではありません。