pthread_join(3thr)pthread_join(3thr)Namepthread_join - Causes the calling thread to wait for the termination of
a specified thread.
Syntax
#include <pthread.h>
int pthread_join (thread, status)
pthread_t thread;
pthread_addr_t *status;
Arguments
thread Thread whose termination is awaited by the caller of this rou‐
tine.
status Status value of the terminating thread (in other words, when
that thread calls pthread_exit.)
Description
This routine causes the calling thread to wait for the termination of a
specified thread. A call to this routine returns after the specified
thread has terminated.
Any number of threads can call this routine. All threads are awakened
when the specified thread terminates.
If the current thread calls this routine, a deadlock can result (if it
is not detected by the implementation).
The results of this routine are unpredictable if the value for thread
refers to a thread object that no longer exists.
Return Values
If an error condition occurs, this routine returns -1 and sets errno to
the corresponding error value. Possible return values are as follows.
Return Error Description
0 Successful comple‐
tion.
-1 [EINVAL] The value specified
by thread is
invalid.
-1 [ESRCH] The value specified
by thread does not
refer to an exist‐
ing thread.
-1 [EDEADLK] A deadlock is
detected.
pthread_join(3thr)