pthread_join - join with a terminated thread
#include <pthread.h>
int pthread_join(pthread_t thread, void **retval);
The pthread_join() function waits for the thread
specified by thread
to terminate. If that thread has already
terminated, then pthread_join() returns immediately.
The thread specified by thread
must be joinable.
If retval
is not NULL, then pthread_join()
copies the exit status of the target thread (i.e., the value that the
target thread supplied to pthread_exit(3)) into the
location pointed to by retval
. If the target thread was
canceled, then PTHREAD_CANCELED is placed in the
location pointed to by retval
.
If multiple threads simultaneously try to join with the same thread, the results are undefined. If the thread calling pthread_join() is canceled, then the target thread will remain joinable (i.e., it will not be detached).
On success, pthread_join() returns 0; on error, it returns an error number.
See pthread_create(3).
pthread_cancel(3), pthread_create(3), pthread_detach(3), pthread_exit(3), pthread_tryjoin_np(3), pthreads(7)