pthread_join¶
Synopsis¶
#include <pthread.h>
int pthread_join(pthread_t thread, void **value_ptr);
Status¶
Implemented
Conformance¶
IEEE Std 1003.1-2017
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.
The behavior is undefined if the value specified by the thread argument to pthread_join() does not refer to a
joinable thread.
The behavior is undefined if the value specified by the thread argument to pthread_join() refers to the calling
thread.
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 may fail if:
EDEADLK- A deadlock was detected.
The pthread_join() function shall not return an error code of EINTR.
POSIX deviations¶
No POSIX deviations discovered.