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.