aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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: