about summary refs log tree commit diff
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.gz
glibc-f6367df2fd032db89e68e28333d995fb18ffa653.tar.xz
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.  */