pthread_join

Name

pthread_join -- create a thread

Synopsis

       #include <rtl_sched.h>

int pthread_join(pthread_t thread, void **arg);

DESCRIPTION

This function is an RTLinux version of standard POSIX threads function. pthread_join suspends the calling thread until the target thread terminates. If arg is not NULL, the return value of the target thread will be (*arg) on return. If the target thread is terminated already, pthread_join returns immediately. On a non-failure return, the target thread is guaranteed to be terminated already. There is, of course, no upper bound on how long this call may take.

RETURN VALUE

pthread_join returns 0 on success and a non-zero error code on error.

ERRORS

[EINVAL]

The target is not a joinable thread.

[ESRCH]

No such thread.

[EDADLK]

The target thread is the calling thread. POSIX also uses this for when the OS detects other deadlocks, but RTLinux does not try to detect deadlock. Just write good code..

AUTHOR

Victor Yodaiken (support@fsmlabs.com)

NOTES

pthread_join is not all that useful at this time. Buttenhof's book on thread programming essentially suggests that you never use it. In future plans, we hope to use it for fault tolerance support.

SEE ALSO

UNIX spec pthread_join(3), pthread_make_periodic_np(3)

©2001 FSMLabs Inc.

All rights reserved.