pthread_join

명칭
     pthread_join — thread 종료의 대기

프로그램 라이브러리
     Reentrant C Library (libc_r, -lc_r)

서식
     <pthread.h> int pthread_join(pthread_t thread, void **value_ptr)

해설
     pthread_join() 함수는, 대상 thread 하지만 아직 종료하고 있지 않는 경우에는, 그 대상 thread (이)가 종료될
     때까지, 호출하고 있는 thread의 실행을 보류합니다.

     NULL 는 아니다 value_ptr 인수를 가진다 pthread_join() 의 호출로부터 성공리로 돌아왔을 때에는, 종료한
     thread에 의해 pthread_exit() 에게 건네진 값이, value_ptr 에 의해 참조되는 위치에 격납됩니다.
     pthread_join() 하지만 성공리로 돌아왔을 때에는, 그 대상 thread는 이미 종료하고 있습니다.  같은 대상 thread를
     지정한 복수로 동시의 pthread_join() 의 호출에 의한 결과는, 미정도리입니다.  pthread_join() (을)를 호출하고
     있는 thread가 삭제되었을 경우에는, 그 대상 thread는 데탓치 되지 않습니다.

     이미 종료했지만 가져 받고 되지 않고 남아 있는 thread는, [_POSIX_THREAD_THREADS_MAX] 에 대해서 카운트
     됩니다.

반환값
     문제가 없는 경우는, pthread_join() 함수는 0 을 돌려줍니다.  문제가 있는 경우는, 그 에러를 나타내기 위해서(때문에)
     에러 번호가 돌려주어집니다.

에러
     pthread_join() (은)는 이하의 경우에 실패합니다.

     [EINVAL]           thread 에 의해 지정된 값이, 대기되는 것이 가능한 thread를 참조하고 있지 않는 것을
                        검출했습니다.

     [ESRCH]            주어진 thread ID, thread 에 의해 지정된 것과 일치하는 thread를 찾아낼 수가
                        없습니다.

     [EDEADLK]          데드 록을 검출했습니다. 또는, thread 의 값이 호출하고 있는 thread를 지정해 있습니다.

관련 항목
     wait(2), pthread_create(3)

표준
     pthread_join() 하 ISO/IEC 9945-1:1996 (“POSIX.1”) 에 적합하고 있습니다.