summaryrefslogtreecommitdiff
path: root/gdb/remote.c
diff options
context:
space:
mode:
authorPedro Alves <pedro@codesourcery.com>2010-05-03 02:12:56 +0000
committerPedro Alves <pedro@codesourcery.com>2010-05-03 02:12:56 +0000
commitcd432ca38f940cab7bc7f1f856d19e3dabba8aea (patch)
treeaf07513f6f10a895c6438c33f7551390b66e1319 /gdb/remote.c
parente5c93868400b5d300f82cd2162d3a5d10d0b19c8 (diff)
downloadgdb-cd432ca38f940cab7bc7f1f856d19e3dabba8aea.tar.gz
* remote.c (remote_notice_signals): New.
(remote_start_remote): In non-stop mode, update the remote end on which signals it can silently pass. (init_remote_ops): Install remote_notice_signals.
Diffstat (limited to 'gdb/remote.c')
-rw-r--r--gdb/remote.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gdb/remote.c b/gdb/remote.c
index 669c13b734a..d5f48946fbb 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -1535,6 +1535,14 @@ remote_pass_signals (void)
}
}
+static void
+remote_notice_signals (ptid_t ptid)
+{
+ /* Update the remote on signals to silently pass, if they've
+ changed. */
+ remote_pass_signals ();
+}
+
/* If PTID is MAGIC_NULL_PTID, don't set any thread. If PTID is
MINUS_ONE_PTID, set the thread to -1, so the stub returns the
thread. If GEN is set, set the general thread, if not, then set
@@ -3155,6 +3163,11 @@ remote_start_remote (struct ui_out *uiout, void *opaque)
/* In non-stop mode, any cached wait status will be stored in
the stop reply queue. */
gdb_assert (wait_status == NULL);
+
+ /* Update the remote on signals to silently pass, or more
+ importantly, which to not ignore, in case a previous session
+ had set some different set of signals to be ignored. */
+ remote_pass_signals ();
}
/* If we connected to a live target, do some additional setup. */
@@ -9898,6 +9911,7 @@ Specify the serial device it is connected to\n\
remote_ops.to_kill = remote_kill;
remote_ops.to_load = generic_load;
remote_ops.to_mourn_inferior = remote_mourn;
+ remote_ops.to_notice_signals = remote_notice_signals;
remote_ops.to_thread_alive = remote_thread_alive;
remote_ops.to_find_new_threads = remote_threads_info;
remote_ops.to_pid_to_str = remote_pid_to_str;