| PTHREAD_JOIN(3) | Library Functions Manual | PTHREAD_JOIN(3) | 
pthread_join —
#include <pthread.h>
int
  
  pthread_join(pthread_t
    thread, void
    **value_ptr);
pthread_join() function suspends execution of the
  calling thread until the target thread terminates unless
  the target thread has already terminated.
On return from a successful pthread_join()
    call with a non-NULL value_ptr
    argument, the value passed to pthread_exit() by the
    terminating thread is stored in the location referenced by
    value_ptr. When a
    pthread_join() returns successfully, the target
    thread has been terminated. The results of multiple simultaneous calls to
    pthread_join() specifying the same target thread are
    undefined. If the thread calling pthread_join() is
    cancelled, then the target thread is not detached.
A thread that has exited but remains unjoined counts against
    _POSIX_THREAD_THREADS_MAX.
pthread_join() function will return
  zero. Otherwise an error number will be returned to indicate the error.
pthread_join() shall fail if:
EINVAL]ESRCH]pthread_join() may fail if:
EDEADLK]| July 9, 2010 | NetBSD 10.0 |