| PTHREAD_JOIN(3) | Library Functions Manual | PTHREAD_JOIN(3) |
pthread_join —
wait for thread termination
POSIX Threads Library (libpthread, -lpthread)
#include
<pthread.h>
int
pthread_join(pthread_t
thread, void
**value_ptr);
The
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.
If successful, the 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]The function conforms to IEEE Std 1003.1-2001 (“POSIX.1”).
| July 9, 2010 | NetBSD 11.0 |