wait for thread termination
() function suspends
execution of the calling thread until the target
terminates unless the target
has already terminated.
On return from a successful
call with a non-NULL value_ptr
value passed to
() by the
terminating thread is stored in the location referenced by
. When a
() returns successfully, the
target thread has been terminated. The results of multiple simultaneous calls
() specifying the same
target thread are undefined. If the thread calling
() is cancelled, then the
target thread is not detached.
A thread that has exited but remains unjoined counts against
If successful, the
will return zero. Otherwise an error number will be returned to indicate the
() will fail if:
- The implementation has detected that the value specified by
thread does not refer to a joinable
- No thread could be found corresponding to that specified by the given
thread ID, thread.
- A deadlock was detected or the value of
thread specifies the calling thread.
() conforms to