From b41f74438672dd682bc01ae818cb3da654f22c1e Mon Sep 17 00:00:00 2001 From: marha Date: Wed, 13 Feb 2013 10:41:10 +0100 Subject: Updated to latest CVS version of pthreads --- pthreads/manual/pthread_join.html | 271 +++++++++++++++++++++----------------- 1 file changed, 153 insertions(+), 118 deletions(-) (limited to 'pthreads/manual/pthread_join.html') diff --git a/pthreads/manual/pthread_join.html b/pthreads/manual/pthread_join.html index 3e3f3b902..e1a8116d9 100644 --- a/pthreads/manual/pthread_join.html +++ b/pthreads/manual/pthread_join.html @@ -1,118 +1,153 @@ - - - - - PTHREAD_JOIN(3) manual page - - - - - - - -

POSIX Threads for Windows – REFERENCE - Pthreads-w32

-

Reference Index

-

Table of Contents

-

Name

-

pthread_join - wait for termination of another thread -

-

Synopsis

-

#include <pthread.h> -

-

int pthread_join(pthread_t th, void -**thread_return); -

-

Description

-

pthread_join suspends the execution of the calling thread -until the thread identified by th terminates, either by -calling pthread_exit(3) or by -being cancelled. -

-

If thread_return is not NULL, the return value of th -is stored in the location pointed to by thread_return. The -return value of th is either the argument it gave to -pthread_exit(3) , or -PTHREAD_CANCELED if th was cancelled. -

-

The joined thread th must be in the joinable state: it must -not have been detached using pthread_detach(3) -or the PTHREAD_CREATE_DETACHED attribute to pthread_create(3) -. -

-

When a joinable thread terminates, its memory resources (thread -descriptor and stack) are not deallocated until another thread -performs pthread_join on it. Therefore, pthread_join -must be called once for each joinable thread created to avoid memory -leaks. -

-

At most one thread can wait for the termination of a given thread. -Calling pthread_join on a thread th on which another -thread is already waiting for termination returns an error. -

-

Cancellation

-

pthread_join is a cancellation point. If a thread is -cancelled while suspended in pthread_join, the thread -execution resumes immediately and the cancellation is executed -without waiting for the th thread to terminate. If -cancellation occurs during pthread_join, the th thread -remains not joined. -

-

Return Value

-

On success, the return value of th is stored in the -location pointed to by thread_return, and 0 is returned. On -error, a non-zero error code is returned. -

-

Errors

-
-
ESRCH -
- No thread could be found corresponding to that specified by th. -
- EINVAL -
- The th thread has been detached. -
- EINVAL -
- Another thread is already waiting on termination of th. -
- EDEADLK -
- The th argument refers to the calling thread. -
-

-Author

-

Xavier Leroy <Xavier.Leroy@inria.fr> -

-

See Also

-

pthread_exit(3) , -pthread_detach(3) , -pthread_create(3) , -pthread_attr_setdetachstate(3) -, pthread_cleanup_push(3) -, pthread_key_create(3) -. -

-
-

Table of Contents

- - - + + + + + PTHREAD_JOIN(3) manual page + + + + + + +

POSIX Threads for Windows – REFERENCE - +Pthreads-w32

+

Reference Index

+

Table of Contents

+

Name

+

pthread_join - wait for termination of another thread

+

pthread_timedjoin_np - wait for termination of another thread with +a timeout +

+

pthread_tryjoin_np – join another thread without waiting

+

Synopsis

+

#include <pthread.h> +

+

int pthread_join(pthread_t th, void +**thread_return); +

+

int pthread_timedjoin_np(pthread_t th, void +**thread_return, const +struct timespec *abstime); +

+

int pthread_tryjoin_np(pthread_t th, void +**thread_return); +

+

Description

+

pthread_join suspends the execution of the calling thread +until the thread identified by th terminates, either by +calling pthread_exit(3) or by +being cancelled. +

+

If thread_return is not NULL, the return value of th +is stored in the location pointed to by thread_return. The +return value of th is either the argument it gave to +pthread_exit(3) , or +PTHREAD_CANCELED if th was cancelled. +

+

The joined thread th +must be in the joinable state: it must not have been detached using +pthread_detach(3) or the +PTHREAD_CREATE_DETACHED attribute to pthread_create(3) +. +

+

When a joinable thread terminates, its memory resources (thread +descriptor and stack) are not deallocated until another thread +performs pthread_join on it. Therefore, pthread_join +must be called once for each joinable thread created to avoid memory +leaks.

+

pthread_timedjoin_np is identical to pthread_join except +that it will return the error ETIMEDOUT if the target thread th +has not exited before abstime passes. If abstime is +NULL the function will wait forever and it's behaviour will therefore +be identical to pthread_join.

+

pthread_tryjoin_np is identical to pthread_join except that +it will return immediately with the error EBUSY if the target thread +th has not exited.

+

At most one thread can wait for the termination of a given thread. +Calling pthread_join on a thread th on which another +thread is already waiting for termination returns an error. +

+

Cancellation

+

pthread_join, pthread_tryjoin_np and +pthread_timedjoin_np are cancellation points. If a +thread is cancelled while suspended in either +function, the thread execution resumes immediately and the +cancellation is executed without waiting for the th thread to +terminate. If cancellation occurs during either function, the th +thread remains not joined. +

+

Return Value

+

On success, the return value of th is stored in the +location pointed to by thread_return, and 0 is returned. On +error, a non-zero error code is returned. +

+

Errors

+
+
ESRCH +
+ No thread could be found corresponding to that specified by th. +
+ EINVAL +
+ The th thread has been detached. +
+ EINVAL +
+ Another thread is already waiting on termination of th. +
+ ETIMEDOUT +
+ (pthread_timedjoin_np + only): abstime passed + before th could be + joined. +
+ EDEADLK +
+ The th argument refers to the calling thread. +
+

+Author

+

Xavier Leroy <Xavier.Leroy@inria.fr> +

+

Modified by Ross Johnson for use with Pthreads-w32. +

+

See Also

+

pthread_exit(3) , +pthread_detach(3) , +pthread_create(3) , +pthread_attr_setdetachstate(3) +, pthread_cleanup_push(3) +, pthread_key_create(3) +. +

+
+

Table of Contents

+ + + \ No newline at end of file -- cgit v1.2.3