diff options
-rw-r--r-- | qutebrowser/misc/crashsignal.py | 7 | ||||
-rw-r--r-- | tests/unit/misc/test_crashsignal.py | 2 |
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", |