diff options
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/thread-db.c | 9 |
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: |