summaryrefslogtreecommitdiff
path: root/libpthread/linuxthreads/internals.h
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-09-08 03:17:05 +0000
committerMike Frysinger <vapier@gentoo.org>2005-09-08 03:17:05 +0000
commit2be79fd8f7a9e6d68d0c1a6a8fb936761137e416 (patch)
treec116bdaea64a7a386e01eff738ef870f5cae8ac6 /libpthread/linuxthreads/internals.h
parent11740630bb377e0c943c645aee2c19c7a07be200 (diff)
import the helper function pthread_for_each_thread from glibc
Diffstat (limited to 'libpthread/linuxthreads/internals.h')
-rw-r--r--libpthread/linuxthreads/internals.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/libpthread/linuxthreads/internals.h b/libpthread/linuxthreads/internals.h
index 194b41789..6bb80cd9e 100644
--- a/libpthread/linuxthreads/internals.h
+++ b/libpthread/linuxthreads/internals.h
@@ -201,7 +201,7 @@ struct pthread_request {
pthread_descr req_thread; /* Thread doing the request */
enum { /* Request kind */
REQ_CREATE, REQ_FREE, REQ_PROCESS_EXIT, REQ_MAIN_THREAD_EXIT,
- REQ_POST, REQ_DEBUG, REQ_KICK
+ REQ_POST, REQ_DEBUG, REQ_KICK, REQ_FOR_EACH_THREAD
} req_kind;
union { /* Arguments for request */
struct { /* For REQ_CREATE: */
@@ -217,6 +217,10 @@ struct pthread_request {
int code; /* exit status */
} exit;
void * post; /* For REQ_POST: the semaphore */
+ struct { /* For REQ_FOR_EACH_THREAD: callback */
+ void (*fn)(void *, pthread_descr);
+ void *arg;
+ } for_each;
} req_args;
};