diff options
author | Pedro Alves <palves@redhat.com> | 2011-10-24 14:25:52 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2011-10-24 14:25:52 +0000 |
commit | e21ffe51c946b8311385340e5a97cba56231cd89 (patch) | |
tree | 7bce52696ebecf137cb57a6b6bd94685c3880dfe | |
parent | 7951ca422a45989cd898cb6e6d18c3388d49985d (diff) | |
download | binutils-e21ffe51c946b8311385340e5a97cba56231cd89.zip binutils-e21ffe51c946b8311385340e5a97cba56231cd89.tar.gz binutils-e21ffe51c946b8311385340e5a97cba56231cd89.tar.bz2 |
2011-10-24 Pedro Alves <pedro@codesourcery.com>
gdb/
* linux-nat.c (linux_handle_extended_wait): When handling a clone
event, in non-stop, if not stopping, make sure the new lwp has
last_resume_kind set to resume_continue. Assert that when we're
resuming the new lwp, its last_resume_kind is resume_continue.
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/linux-nat.c | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6f9974e..30cf144 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,12 @@ 2011-10-24 Pedro Alves <pedro@codesourcery.com> + * linux-nat.c (linux_handle_extended_wait): When handling a clone + event, in non-stop, if not stopping, make sure the new lwp has + last_resume_kind set to resume_continue. Assert that when we're + resuming the new lwp, its last_resume_kind is resume_continue. + +2011-10-24 Pedro Alves <pedro@codesourcery.com> + * infrun.c (handle_inferior_event): Don't assume inferior_ptid is already set when marking the event thread as not executing in non-stop mode. diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c index f8a15c9..4595c06 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c @@ -2289,6 +2289,9 @@ linux_handle_extended_wait (struct lwp_info *lp, int status, { set_running (new_lp->ptid, 1); set_executing (new_lp->ptid, 1); + /* thread_db_attach_lwp -> lin_lwp_attach_lwp forced + resume_stop. */ + new_lp->last_resume_kind = resume_continue; } } @@ -2316,6 +2319,7 @@ linux_handle_extended_wait (struct lwp_info *lp, int status, if (status == 0) { + gdb_assert (new_lp->last_resume_kind == resume_continue); if (debug_linux_nat) fprintf_unfiltered (gdb_stdlog, "LHEW: resuming new LWP %ld\n", |