pthread_join - Causes the calling thread to wait for the
termination of the specified thread
#include <pthread.h>
int pthread_join(
pthread_t thread,
void **value_ptr );
DECthreads POSIX 1003.1c Library (libpthread.so)
Interfaces documented on this reference page conform to
industry standards as follows:
IEEE Std 1003.1c-1995, POSIX System Application Program
Interface
Thread whose termination is awaited by the calling routine.
Return value of the terminating thread (when that
thread either calls pthread_exit(3) or returns from its
start routine).
This routine suspends execution of the calling thread
until the specified target thread thread terminates.
On return from a successful pthread_join(3) call with a
non-NULL value_ptr argument, the value passed to
pthread_exit(3) is returned in the location referenced by
value_ptr, and the terminating thread is detached.
If more than one thread attempts to join with the same
thread, the results are unpredictable.
A call to pthread_join(3) returns after the target thread
terminates. The pthread_join(3) routine is a deferred cancellation
point: the target thread will not be detached if
the thread blocked in pthread_join(3) is canceled.
If a thread calls this routine and specifies its own
pthread_t, a deadlock can result.
The pthread_join(3) (or pthread_detach(3)) routine should
eventually be called for every thread that is created with
the detachstate attribute of its thread attributes object
set to PTHREAD_CREATE_JOINABLE, so that storage associated
with the thread can be reclaimed.
If an error condition occurs, this routine returns an
integer value indicating the type of error. Possible
return values are as follows: Successful completion. The
value specified by thread does not refer to a joinable
thread. The value specified by thread does not refer to
an existing thread ID. A deadlock was detected, or thread
specifies the calling thread.
None
Functions: pthread_cancel(3), pthread_create(3),
pthread_detach(3), pthread_exit(3)
Manuals: Guide to DECthreads and Programmer's Guide
pthread_join(3)
[ Back ] |