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.
This commit is contained in:
Sergio Durigan Junior 2013-06-04 15:12:52 +00:00
parent afacd7f34a
commit 5e1b953b8c
2 changed files with 8 additions and 3 deletions

View File

@ -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

View File

@ -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;