diff options
author | Pedro Alves <palves@redhat.com> | 2010-05-03 02:13:01 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2010-05-03 02:13:01 +0000 |
commit | f02230813559c7111a2c8ec7190229c181a6690e (patch) | |
tree | 8bef5569526279da2a600bc07835044b3b27e7e5 /gdb | |
parent | 913f00150e4cea68897735f4aa032a07d0df42ce (diff) | |
download | gdb-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/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/remote.c | 14 |
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; |