about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-12-04 23:42:21 +0000
committerUlrich Drepper <drepper@redhat.com>2002-12-04 23:42:21 +0000
commitabbd6175b483bec001a425d11362e4824ecf6c7d (patch)
treecf7e3ad8da09d3c8d46ba1eae32d536d20b96916
parentc4a6d859943d9f35bad48b82530fae2ff3a323e7 (diff)
downloadglibc-abbd6175b483bec001a425d11362e4824ecf6c7d.tar.gz
glibc-abbd6175b483bec001a425d11362e4824ecf6c7d.tar.xz
glibc-abbd6175b483bec001a425d11362e4824ecf6c7d.zip
Update.
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.
-rw-r--r--argp/tst-argp1.c2
-rw-r--r--nptl_db/ChangeLog5
-rw-r--r--nptl_db/td_ta_thr_iter.c5
3 files changed, 11 insertions, 1 deletions
diff --git a/argp/tst-argp1.c b/argp/tst-argp1.c
index 7f29ff2e7d..c72185e15d 100644
--- a/argp/tst-argp1.c
+++ b/argp/tst-argp1.c
@@ -97,7 +97,7 @@ int
 main (void)
 {
   int argc = 2;
-  char *argv[3] = { "tst-argp1", "--help", NULL };
+  char *argv[3] = { (char *) "tst-argp1", (char *) "--help", NULL };
   int remaining;
 
   /* Parse and process arguments.  */
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;