Manual Pages for Linux CentOS command on man pthread_tryjoin_np
MyWebUniversity

Manual Pages for Linux CentOS command on man pthread_tryjoin_np

PTHREADTRYJOINNP(3) Linux Programmer's Manual PTHREADTRYJOINNP(3)

NAME

pthreadtryjoinnp, pthreadtimedjoinnp - try to join with a termi‐ nated thread SYNOPSIS

#define GNUSOURCE /* See featuretestmacros(7) */

#include int pthreadtryjoinnp(pthreadt thread, void **retval); int pthreadtimedjoinnp(pthreadt thread, void **retval, const struct timespec *abstime);

Compile and link with -pthread. DESCRIPTION These functions operate in the same way as pthreadjoin(3), except for the differences described on this page. The pthreadtryjoinnp() function performs a nonblocking join with the thread thread, returning the exit status of the thread in *retval. If thread has not yet terminated, then instead of blocking, as is done by pthreadjoin(3), the call returns an error.

The pthreadtimedjoinnp() function performs a join-with-timeout. If thread has not yet terminated, then the call blocks until a maximum time, specified in abstime. If the timeout expires before thread ter‐ minates, the call returns an error. The abstime argument is a struc‐ ture of the following form, specifying an absolute time measured since the Epoch (see time(2)): struct timespec { timet tvsec; /* seconds */ long tvnsec; /* nanoseconds */ }; RETURN VALUE On success, these functions return 0; on error, they return an error number. ERRORS These functions can fail with the same errors as pthreadjoin(3). pthreadtryjoinnp() can in addition fail with the following error: EBUSY thread had not yet terminated at the time of the call. pthreadtimedjoinnp() can in addition fail with the following error: ETIMEDOUT The call timed out before thread terminated. pthreadtimedjoinnp() never returns the error EINTR. VERSIONS These functions first appeared in glibc in version 2.3.3. CONFORMING TO These functions are nonstandard GNU extensions; hence the suffix "np" (nonportable) in the names. EXAMPLE The following code waits to join for up to 5 seconds: struct timespec ts; int s; ...

if (clockgettime(CLOCKREALTIME, &ts) == -1) { /* Handle error */ } ts.tvsec += 5; s = pthreadtimedjoinnp(thread, NULL, &ts); if (s != 0) { /* Handle error */ } SEE ALSO clockgettime(2), pthreadexit(3), pthreadjoin(3), pthreads(7) COLOPHON

This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can

be found at http://www.kernel.org/doc/man-pages/.

Linux 2010-09-10 PTHREADTRYJOINNP(3)




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™