+2015-07-27 Patrick Palka <patrick@parcs.ath.cx>
+
+ * event-top.c (handle_sigterm): Don't inspect
+ target_can_async_p. Always set the quit flag and always mark
+ the async signal handler.
+
2015-07-27 Yao Qi <yao.qi@linaro.org>
* Makefile.in (REMOTE_EXAMPLES): Remove it.
{
signal (sig, handle_sigterm);
- /* Call quit_force in a signal safe way.
- quit_force itself is not signal safe. */
- if (target_can_async_p ())
- mark_async_signal_handler (async_sigterm_token);
- else
- {
- sync_quit_force_run = 1;
- set_quit_flag ();
- }
+ sync_quit_force_run = 1;
+ set_quit_flag ();
+
+ mark_async_signal_handler (async_sigterm_token);
}
/* Do the quit. All the checks have been done by the caller. */
--- /dev/null
+# This testcase is part of GDB, the GNU debugger.
+#
+# Copyright 2015 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Check that GDB promptly quits after receiving a SIGTERM while no proper
+# target is active.
+
+gdb_start
+
+set gdb_pid [exp_pid -i [board_info host fileid]]
+remote_exec host "kill -TERM $gdb_pid"
+
+set test "expect eof"
+gdb_test_multiple "" $test {
+ -timeout 5
+ eof {
+ pass $test
+ }
+}