summary refs log tree commit diff
path: root/nptl_db
diff options
context:
space:
mode:
Diffstat (limited to 'nptl_db')
-rw-r--r--nptl_db/ChangeLog5
-rw-r--r--nptl_db/td_ta_thr_iter.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/nptl_db/ChangeLog b/nptl_db/ChangeLog
index 5d3fd84a0b..2520fe3c66 100644
--- a/nptl_db/ChangeLog
+++ b/nptl_db/ChangeLog
@@ -1,3 +1,8 @@
+2002-12-04  Ulrich Drepper  <drepper@redhat.com>
+
+	* td_ta_thr_iter.c (iterate_thread_list): At end of iteration read
+	pointer to the next element from inferior.
+
 2002-12-02  Roland McGrath  <roland@redhat.com>
 
 	* td_symbol_list.c (symbol_list_arr): pthread_keys -> __pthread_keys
diff --git a/nptl_db/td_ta_thr_iter.c b/nptl_db/td_ta_thr_iter.c
index ca1c82df6b..87fec01e8b 100644
--- a/nptl_db/td_ta_thr_iter.c
+++ b/nptl_db/td_ta_thr_iter.c
@@ -90,6 +90,11 @@ iterate_thread_list (const td_thragent_t *ta, td_thr_iter_f *callback,
 		return TD_DBERR;
 	    }
 	}
+
+      /* Get the pointer to the next element.  */
+      if (ps_pdread (ta->ph, &((struct pthread *) addr)->header.data.list,
+		     &list, sizeof (list_t)) != PS_OK)
+	return TD_ERR;	/* XXX Other error value?  */
     }
 
   return result;