From 0a7c3aeaab061574f30798c7de797811f7a92267 Mon Sep 17 00:00:00 2001 From: Arinerron Date: Tue, 1 May 2018 23:35:08 -0700 Subject: [PATCH] Improve daemon stopping error handling --- onionr/logger.py | 2 +- onionr/onionr.py | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/onionr/logger.py b/onionr/logger.py index 1aade107..990a8b95 100644 --- a/onionr/logger.py +++ b/onionr/logger.py @@ -220,7 +220,7 @@ def error(data, error=None, timestamp=True): if get_level() <= LEVEL_ERROR: log('-', data, colors.fg.red, timestamp=timestamp) if not error is None: - debug('Error details: ' + str(error) + parse_error()) + debug('Error: ' + str(error) + parse_error()) # fatal: when the something so bad has happened that the prorgam must stop def fatal(data, timestamp=True): diff --git a/onionr/onionr.py b/onionr/onionr.py index 5e7c6cd5..a8fe223a 100755 --- a/onionr/onionr.py +++ b/onionr/onionr.py @@ -527,15 +527,18 @@ class Onionr: Shutdown the Onionr daemon ''' - logger.warn('Killing the running daemon') - events.event('daemon_stop', onionr = self) - net = NetController(config.get('client')['port']) + logger.warn('Killing the running daemon...', timestamp = False) try: - self.onionrUtils.localCommand('shutdown') - except requests.exceptions.ConnectionError: - pass - self.onionrCore.daemonQueueAdd('shutdown') - net.killTor() + events.event('daemon_stop', onionr = self) + net = NetController(config.get('client')['port']) + try: + self.onionrUtils.localCommand('shutdown') + except requests.exceptions.ConnectionError: + pass + self.onionrCore.daemonQueueAdd('shutdown') + net.killTor() + except Exception as e: + logger.error('Failed to shutdown daemon.', error = e, timestamp = False) return @@ -543,6 +546,7 @@ class Onionr: ''' Displays statistics and exits ''' + logger.info('Our pubkey: ' + self.onionrCore._crypto.pubKey) logger.info('Our address: ' + self.get_hostname()) return