aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2010-05-03 02:13:01 +0000
committerPedro Alves <palves@redhat.com>2010-05-03 02:13:01 +0000
commitf02230813559c7111a2c8ec7190229c181a6690e (patch)
tree8bef5569526279da2a600bc07835044b3b27e7e5 /gdb
parent913f00150e4cea68897735f4aa032a07d0df42ce (diff)
downloadgdb-f02230813559c7111a2c8ec7190229c181a6690e.zip
gdb-f02230813559c7111a2c8ec7190229c181a6690e.tar.gz
gdb-f02230813559c7111a2c8ec7190229c181a6690e.tar.bz2
* 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')
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/remote.c14
2 files changed, 21 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 206a436..9c3591c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2010-05-03 Pedro Alves <pedro@codesourcery.com>
+
+ * 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.
+
2010-05-02 Jan Kratochvil <jan.kratochvil@redhat.com>
* cli/cli-cmds.h (error_no_arg): Remove. Move the comment ...
diff --git a/gdb/remote.c b/gdb/remote.c
index 669c13b..d5f4894 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;