aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads_db/td_ta_thr_iter.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-10-15 00:38:31 +0000
committerUlrich Drepper <drepper@redhat.com>1999-10-15 00:38:31 +0000
commitf6367df2fd032db89e68e28333d995fb18ffa653 (patch)
tree3b4bca3c94d629071e220c0f1a1b194c7dc8c3b6 /linuxthreads_db/td_ta_thr_iter.c
parent3e1e749e27765b2513b32d9cb1cd058830e6b2c8 (diff)
downloadglibc-f6367df2fd032db89e68e28333d995fb18ffa653.tar
glibc-f6367df2fd032db89e68e28333d995fb18ffa653.tar.gz
glibc-f6367df2fd032db89e68e28333d995fb18ffa653.tar.bz2
glibc-f6367df2fd032db89e68e28333d995fb18ffa653.zip
Update.
1999-10-14 Ulrich Drepper <drepper@cygnus.com> * manager.c (pthread_handle_create): Remove p_startfct initialization. * internals.h (_pthread_descr_struct): We don't need p_startfct field.
Diffstat (limited to 'linuxthreads_db/td_ta_thr_iter.c')
-rw-r--r--linuxthreads_db/td_ta_thr_iter.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/linuxthreads_db/td_ta_thr_iter.c b/linuxthreads_db/td_ta_thr_iter.c
index 678dd7f01b..f9b5673ebf 100644
--- a/linuxthreads_db/td_ta_thr_iter.c
+++ b/linuxthreads_db/td_ta_thr_iter.c
@@ -66,9 +66,15 @@ td_ta_thr_iter (const td_thragent_t *ta, td_thr_iter_f *callback,
/* Test the state.
XXX This is incomplete. */
- if (state != TD_THR_ANY_STATE
- && (state != TD_THR_ZOMBIE || pds.p_exited == 0)
- && (state != TD_THR_RUN || pds.p_exited != 0))
+ if (state != TD_THR_ANY_STATE)
+ continue;
+
+ /* XXX For now we ignore threads which are not running anymore.
+ The reason is that gdb tries to get the registers and fails.
+ In future we should have a special mode of the thread library
+ in which we keep the process around until the actual join
+ operation happened. */
+ if (pds.p_exited != 0)
continue;
/* Yep, it matches. Call the callback function. */