aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2011-10-24 14:25:52 +0000
committerPedro Alves <palves@redhat.com>2011-10-24 14:25:52 +0000
commite21ffe51c946b8311385340e5a97cba56231cd89 (patch)
tree7bce52696ebecf137cb57a6b6bd94685c3880dfe
parent7951ca422a45989cd898cb6e6d18c3388d49985d (diff)
downloadbinutils-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/ChangeLog7
-rw-r--r--gdb/linux-nat.c4
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",