aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2001-03-30 19:36:35 +0000
committerMark Kettenis <kettenis@gnu.org>2001-03-30 19:36:35 +0000
commit95a856212b2220f94f87145e5f0bc1c64ecb79dd (patch)
tree1026f84d9fdb1110609b7670e6d5d65fcc7f545f /gdb
parent5fba8300571683b3d2db0f11a0c8522016df24f9 (diff)
downloadgdb-95a856212b2220f94f87145e5f0bc1c64ecb79dd.zip
gdb-95a856212b2220f94f87145e5f0bc1c64ecb79dd.tar.gz
gdb-95a856212b2220f94f87145e5f0bc1c64ecb79dd.tar.bz2
* thread-db.c (check_event): Don't report an error if we encounter
a thread creation event for a thread that's already in the thread list, since that may legitemately happen. Instead only call attach_thread if it's not already in the thread list.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/thread-db.c9
2 files changed, 12 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 62487dd..41a4daa 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2001-03-30 Mark Kettenis <kettenis@gnu.org>
+
+ * thread-db.c (check_event): Don't report an error if we encounter
+ a thread creation event for a thread that's already in the thread
+ list, since that may legitemately happen. Instead only call
+ attach_thread if it's not already in the thread list.
+
2001-03-28 Andrew Cagney <ac131313@redhat.com>
* config/pa/xm-hppah.h (malloc): Really delete declaration
diff --git a/gdb/thread-db.c b/gdb/thread-db.c
index 70283d0..956d0d8 100644
--- a/gdb/thread-db.c
+++ b/gdb/thread-db.c
@@ -697,10 +697,11 @@ check_event (int pid)
error ("Thread creation event doesn't match breakpoint.");
#endif
- if (in_thread_list (pid))
- error ("Spurious thread creation event.");
-
- attach_thread (pid, msg.th_p, &ti, 1);
+ /* We may already know about this thread, for instance when the
+ user has issued the `info threads' command before the SIGTRAP
+ for hitting the thread creation breakpoint was reported. */
+ if (! in_thread_list (pid))
+ attach_thread (pid, msg.th_p, &ti, 1);
return;
case TD_DEATH: