pthread_join(3T) pthread_join(3T) Pthread Library NAME pthread_join() - wait for the termination of a specified thread. SYNOPSIS #include <pthread.h> int pthread_join( pthread_t thread, void **value_ptr ); PARAMETERS thread Thread whose termination is awaited by the caller. value_ptr Pointer to the location where the exit status of thread is returned. DESCRIPTION The pthread_join() function waits for the termination of the target thread. If the target thread has already terminated, this function returns immediately. Only threads created with a detachstate attribute value of PTHREAD_CREATE_JOINABLE may be specified in the target thread parameter. On successful return from pthread_join(), the value_ptr argument, if it is not a null pointer, will contain the value passed to pthread_exit() by the terminating thread. When a pthread_join() call returns successfully, the caller is guaranteed the target thread has terminated. If more than one thread calls pthread_join() for the same target thread, one thread is guaranteed to return successfully. Undefined behavior results for other callers specifying the same thread. If the thread calling pthread_join() is canceled, the target thread shall not be joined. The exit status of the target thread will remain available for another thread to call pthread_join(). If the target thread was canceled, its exit status is PTHREAD_CANCELED. It is unspecified whether a thread that has exited, but remains unjoined, counts against the {_POSIX_THREAD_THREADS_MAX} limit. RETURN VALUE Upon successful completion, pthread_join() returns zero. Otherwise, an error number is returned to indicate the error (the errno variable is not set). ERRORS If any of the following occur, the pthread_join() function returns the corresponding error number: Hewlett-Packard Company - 1 - HP-UX Release 11.00: October 1997 pthread_join(3T) pthread_join(3T) Pthread Library [EINVAL] The value specified by thread does not refer to a joinable thread. [ESRCH] No thread could be found corresponding to thread. For each of the following conditions, if the condition is detected, the pthread_join() function returns the corresponding error number: [EDEADLK] This operation would result in process deadlock or thread specifies the calling thread. AUTHOR pthread_join() was derived from the IEEE POSIX P1003.1c standard. SEE ALSO pthread_create(3T), wait(2). STANDARDS CONFORMANCE pthread_join(): POSIX 1003.1c.