#include <pthread.h> int
pthread_join (pthread_t thread void **value_ptr);
DESCRIPTION
The
pthread_join ();
function suspends execution of the calling thread until the target
Fa thread
terminates unless the target
Fa thread
has already terminated.
On return from a successful
pthread_join ();
call with a non-NULL
Fa value_ptr
argument, the value passed to
pthread_exit ();
by the terminating thread is stored in the location referenced by
Fa 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].
RETURN VALUES
If successful, the
pthread_join ();
function will return zero.
Otherwise an error number will be returned to
indicate the error.
ERRORS
The
pthread_join ();
function will fail if:
Bq Er EINVAL
The implementation has detected that the value specified by
Fa thread
does not refer to a joinable thread.
Bq Er ESRCH
No thread could be found corresponding to that specified by the given
thread ID,
Fa thread .
Bq Er EDEADLK
A deadlock was detected or the value of
Fa thread
specifies the calling thread.