aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergio Durigan Junior <sergiodj@redhat.com>2013-06-04 15:12:52 +0000
committerSergio Durigan Junior <sergiodj@redhat.com>2013-06-04 15:12:52 +0000
commit5e1b953b8c0c8bad6c73e144776d859273e31a77 (patch)
tree8b73be55a493090e146a651a50d3bf3daaae089c
parentafacd7f34ae5f4d74b0220089c2798d332422f6a (diff)
downloadgdb-5e1b953b8c0c8bad6c73e144776d859273e31a77.zip
gdb-5e1b953b8c0c8bad6c73e144776d859273e31a77.tar.gz
gdb-5e1b953b8c0c8bad6c73e144776d859273e31a77.tar.bz2
GDB was not restoring the signal handler before returning when a notification
was received. This patch fixes it. 2013-06-04 Sergio Durigan Junior <sergiodj@redhat.com> Pedro Alves <palves@redhat.com> * remote.c (remote_wait_as): Restore signal handler before returning when GDB gets a notification.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/remote.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b01d65a..7a0926f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2013-06-04 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * remote.c (remote_wait_as): Restore signal handler before returning
+ when GDB gets a notification.
+
2013-06-04 Gary Benson <gbenson@redhat.com>
* breakpoint.h (handle_solib_event): Moved function declaration
diff --git a/gdb/remote.c b/gdb/remote.c
index 7d98bc1..24d10f2 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -5951,13 +5951,13 @@ remote_wait_as (ptid_t ptid, struct target_waitstatus *status, int options)
ret = getpkt_or_notif_sane (&rs->buf, &rs->buf_size,
wait_forever_enabled_p, &is_notif);
+ if (!target_is_async_p ())
+ signal (SIGINT, ofunc);
+
/* GDB gets a notification. Return to core as this event is
not interesting. */
if (ret != -1 && is_notif)
return minus_one_ptid;
-
- if (!target_is_async_p ())
- signal (SIGINT, ofunc);
}
buf = rs->buf;