summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qutebrowser/misc/crashsignal.py7
-rw-r--r--tests/unit/misc/test_crashsignal.py2
2 files changed, 8 insertions, 1 deletions
diff --git a/qutebrowser/misc/crashsignal.py b/qutebrowser/misc/crashsignal.py
index daffa6341..05e5806df 100644
--- a/qutebrowser/misc/crashsignal.py
+++ b/qutebrowser/misc/crashsignal.py
@@ -326,8 +326,13 @@ class SignalHandler(QObject):
self._handlers = {
signal.SIGINT: self.interrupt,
signal.SIGTERM: self.interrupt,
- signal.SIGHUP: self.reload_config,
}
+ platform_dependant_handlers = {
+ "SIGHUP": self.reload_config,
+ }
+ for sig_str, handler in platform_dependant_handlers.items():
+ if hasattr(signal.Signals, sig_str):
+ self._handlers[signal.Signals[sig_str]] = handler
def activate(self):
"""Set up signal handlers.
diff --git a/tests/unit/misc/test_crashsignal.py b/tests/unit/misc/test_crashsignal.py
index e4570420e..7019118e5 100644
--- a/tests/unit/misc/test_crashsignal.py
+++ b/tests/unit/misc/test_crashsignal.py
@@ -80,12 +80,14 @@ def test_interrupt_repeatedly(signal_handler):
expected(test_signal, None)
+@pytest.mark.posix
def test_reload_config_call_on_hup(signal_handler, read_config_mock):
signal_handler._handlers[signal.SIGHUP](None, None)
read_config_mock.assert_called_once_with("config.py-unittest")
+@pytest.mark.posix
def test_reload_config_displays_errors(signal_handler, read_config_mock, mocker):
read_config_mock.side_effect = configexc.ConfigFileErrors(
"config.py",