[gdbserver, patch] Restore current_inferior on return

Yao Qi
2010-09-06T14:52:26Z

[-- Attachment #1: Type: text/plain, Size: 218 bytes --]

Hi,
This patch is to fix a bug revealed when my patch "Remove unused
variables" is reviewed.
http://sourceware.org/ml/gdb-patches/2010-09/msg00081.html

--
Yao Qi
CodeSourcery
yao@codesourcery.com
(650) 331-3385 x739

[-- Attachment #2: restore_current_inferior.patch --]
[-- Type: text/x-patch, Size: 802 bytes --]

gdbserver/

* linux-low.c (maybe_move_out_of_jump_pad): Restore current_inferior
on return.

diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index f2177ff..76a4df1 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -1244,6 +1244,7 @@ Checking whether LWP %ld needs to move out of the jump pad.\n",
fprintf (stderr, "\
Checking whether LWP %ld needs to move out of the jump pad...it does\n",
lwpid_of (lwp));
+ current_inferior = saved_inferior;

return 1;
}
@@ -1314,6 +1315,8 @@ Checking whether LWP %ld needs to move out of the jump pad...it does\n",
fprintf (stderr, "\
Checking whether LWP %ld needs to move out of the jump pad...no\n",
lwpid_of (lwp));
+
+ current_inferior = saved_inferior;
return 0;
}