diff options
| author | Daniel Eischen <deischen@FreeBSD.org> | 2001-11-17 14:28:39 +0000 |
|---|---|---|
| committer | Daniel Eischen <deischen@FreeBSD.org> | 2001-11-17 14:28:39 +0000 |
| commit | ccc7b69205d48bc890a1565811ef265a7904977c (patch) | |
| tree | d9b490926b6ae401659e2052a1b89c5bea09c6d4 /lib/libpthread/thread/thr_private.h | |
| parent | 608f31f640fa809e3d3f91a58b0bcbe10e125267 (diff) | |
Notes
Diffstat (limited to 'lib/libpthread/thread/thr_private.h')
| -rw-r--r-- | lib/libpthread/thread/thr_private.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/libpthread/thread/thr_private.h b/lib/libpthread/thread/thr_private.h index 151fd0379ebd..b60d8b7aed96 100644 --- a/lib/libpthread/thread/thr_private.h +++ b/lib/libpthread/thread/thr_private.h @@ -601,6 +601,11 @@ struct pthread_state_data { /* XXX - What about thread->timeout and/or thread->error? */ }; +struct join_status { + struct pthread *thread; + int ret; + int error; +}; /* * Normally thread contexts are stored as jmp_bufs via _setjmp()/_longjmp(), @@ -757,8 +762,12 @@ struct pthread { */ int error; - /* Pointer to a thread that is waiting to join (NULL if no joiner). */ - struct pthread *joiner; + /* + * The joiner is the thread that is joining to this thread. The + * join status keeps track of a join operation to another thread. + */ + struct pthread *joiner; + struct join_status join_status; /* * The current thread can belong to only one scheduling queue at |
