summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/core.py b/src/core.py
index 1d2ab522..5450df5b 100644
--- a/src/core.py
+++ b/src/core.py
@@ -392,9 +392,25 @@ class Core(object):
def exit_from_signal(self, *args, **kwargs):
"""
Quit when receiving SIGHUP or SIGTERM
+
+ do not save the config because it is not a normal exit
+ (and only roster UI things are not yet saved)
"""
log.debug("Either SIGHUP or SIGTERM received. Exiting…")
- self.command_quit()
+ if config.get('enable_user_mood', 'true') != 'false':
+ self.xmpp.plugin['xep_0107'].stop(block=False)
+ if config.get('enable_user_activity', 'true') != 'false':
+ self.xmpp.plugin['xep_0108'].stop(block=False)
+ if config.get('enable_user_gaming', 'true') != 'false':
+ self.xmpp.plugin['xep_0196'].stop(block=False)
+ self.plugin_manager.disable_plugins()
+ self.disconnect('')
+ self.running = False
+ try:
+ self.reset_curses()
+ except: # too bad
+ pass
+ sys.exit()
def autoload_plugins(self):
"""