Professional Multicore Programming: Design and Implementation for C++ Developers
by Cameron Hughes, Tracey Hughes
Name
NAME
pthread_join — wait for thread termination
SYNOPSIS
THR #include <pthread.h>
int pthread_join(pthread_t thread, void **value_ptr);DESCRIPTION
The pthread_join() function shall suspend 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 shall be made available 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 canceled, then the target thread shall not be detached.
It is unspecified whether a thread that has exited but remains unjoined counts against {PTHREAD_THREADS_MAX).
RETURN VALUE
If successful, the pthread_join() function shall return zero; otherwise, an error number shall be returned to indicate the error.
ERRORS
The pthread_join() function shall fail if:
[EINVAL] | The implementation has detected that the value specified by thread does not refer to a joinable thread. |
[ESRCH] | No thread could be found corresponding to that specified by the given thread ID. |
The pthread_join() function may fail if:
[EDEADLK] | A deadlock was detected or the value of thread specifies the calling thread. |
The pthread_join() function shall not return an error code of [EINTR].
EXAMPLES ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access