The GNU C Library provides several extensions to the pthread_join
function.
int pthread_tryjoin_np (pthread_t *thread, void **thread_return) ¶Preliminary: | MT-Safe | AS-Unsafe lock | AC-Unsafe lock | See POSIX Safety Concepts.
Behaves like pthread_join except that it will return EBUSY
immediately if the thread specified by thread has not yet terminated.
int pthread_timedjoin_np (pthread_t *thread, void **thread_return, const struct timespec *abstime) ¶Preliminary: | MT-Safe | AS-Unsafe lock | AC-Unsafe lock | See POSIX Safety Concepts.
Behaves like pthread_tryjoin_np except that it will block until the
absolute time abstime measured against CLOCK_REALTIME is
reached if the thread has not terminated by that time and return
EBUSY. If abstime is equal to NULL then the function
will wait forever in the same way as pthread_join.
int pthread_clockjoin_np (pthread_t *thread, void **thread_return, clockid_t clockid, const struct timespec *abstime) ¶Preliminary: | MT-Safe | AS-Unsafe lock | AC-Unsafe lock | See POSIX Safety Concepts.
Behaves like pthread_timedjoin_np except that the absolute time in
abstime is measured against the clock specified by clockid.
Currently, clockid must be either CLOCK_MONOTONIC or
CLOCK_REALTIME.
The sem_clockwait function also works using a clockid_t
argument. See POSIX Semaphores.