diff options
author | Jonathan Weth <git@jonathanweth.de> | 2021-06-28 12:57:23 +0200 |
---|---|---|
committer | Jonathan Weth <git@jonathanweth.de> | 2021-06-28 12:57:23 +0200 |
commit | 9c437fabc0bd3d924413f5e3c0b08f365ca64f9d (patch) | |
tree | a5a1fadc5201718b3f204ca7b91db1d7b09aa407 /rwa/support/sessionservice/service.py | |
parent | e67b9b7ef03ad48aad62dd82b48fb7fdfe3949a8 (diff) | |
parent | d8146354959fb352f9709ae0d2a674c361dbec17 (diff) | |
download | RWA.Support.SessionService-9c437fabc0bd3d924413f5e3c0b08f365ca64f9d.tar.gz RWA.Support.SessionService-9c437fabc0bd3d924413f5e3c0b08f365ca64f9d.tar.bz2 RWA.Support.SessionService-9c437fabc0bd3d924413f5e3c0b08f365ca64f9d.zip |
Merge branch 'master' into feature/multiple-hosts
Diffstat (limited to 'rwa/support/sessionservice/service.py')
-rwxr-xr-x | rwa/support/sessionservice/service.py | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/rwa/support/sessionservice/service.py b/rwa/support/sessionservice/service.py index 2bc727d..e3ca5a1 100755 --- a/rwa/support/sessionservice/service.py +++ b/rwa/support/sessionservice/service.py @@ -191,7 +191,7 @@ class RWASupportSessionService(dbus.service.Object): return json.dumps(return_json) except ConnectionError: - pass + logging.error("There was a connection error while trying to reach the server.") return json.dumps({"status": "error", "type": "connection"}) @@ -321,11 +321,16 @@ class RWASupportSessionService(dbus.service.Object): return False def _stop_all(self): - """Stop all sessions and this daemon.""" - logging.info("Stop all sessions and exit service.") + """Stop all sessions""" + logging.info("Stop all sessions.") for session in list(self.sessions.values()): session.stop() del self.sessions[session.pid] + + def _stop_daemon(self): + """Stop all sessions and this daemon.""" + logging.info("Shut down session service.") + self._stop_all() self.trigger_service.shutdown() self.loop.quit() @@ -387,11 +392,16 @@ def main(mockup, once): loop = GLib.MainLoop() service_object = RWASupportSessionService(loop, mockup, once) - def signal_handler(sig, frame): + def sigint_handler(sig, frame): logging.info("Service was terminated.") + service_object._stop_daemon() + + def sigquit_handler(sig, frame): + logging.info("Session was terminated.") service_object._stop_all() - signal.signal(signal.SIGINT, signal_handler) + signal.signal(signal.SIGINT, sigint_handler) + signal.signal(signal.SIGQUIT, sigquit_handler) loop.run() |