diff options
author | Mark Kettenis <kettenis@gnu.org> | 2001-03-30 19:36:35 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@gnu.org> | 2001-03-30 19:36:35 +0000 |
commit | 95a856212b2220f94f87145e5f0bc1c64ecb79dd (patch) | |
tree | 1026f84d9fdb1110609b7670e6d5d65fcc7f545f /gdb | |
parent | 5fba8300571683b3d2db0f11a0c8522016df24f9 (diff) | |
download | gdb-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/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: |