Properly handle SIGTERM if daemon ran with -d #1060

Merged
g1itch merged 3 commits from daemon into v0.6 2018-01-25 03:11:18 +01:00
3 changed files with 4 additions and 5 deletions
Showing only changes of commit 0c4d4de82f - Show all commits

View File

@ -66,7 +66,7 @@ class singleCleaner(threading.Thread, StoppableThread):
# If we are running as a daemon then we are going to fill up the UI # If we are running as a daemon then we are going to fill up the UI
# queue which will never be handled by a UI. We should clear it to # queue which will never be handled by a UI. We should clear it to
# save memory. # save memory.
if BMConfigParser().safeGetBoolean('bitmessagesettings', 'daemon'): if shared.thisapp.daemon:
queues.UISignalQueue.queue.clear() queues.UISignalQueue.queue.clear()
if timeWeLastClearedInventoryAndPubkeysTables < int(time.time()) - 7380: if timeWeLastClearedInventoryAndPubkeysTables < int(time.time()) - 7380:
timeWeLastClearedInventoryAndPubkeysTables = int(time.time()) timeWeLastClearedInventoryAndPubkeysTables = int(time.time())

View File

@ -3,7 +3,6 @@ import Queue
import threading import threading
import time import time
from bmconfigparser import BMConfigParser
from debug import logger from debug import logger
from helper_sql import sqlQuery, sqlStoredProcedure from helper_sql import sqlQuery, sqlStoredProcedure
from helper_threading import StoppableThread from helper_threading import StoppableThread
@ -60,7 +59,7 @@ def doCleanShutdown():
except Queue.Empty: except Queue.Empty:
break break
if BMConfigParser().safeGetBoolean('bitmessagesettings','daemon'): if shared.thisapp.daemon:
logger.info('Clean shutdown complete.') logger.info('Clean shutdown complete.')
shared.thisapp.cleanup() shared.thisapp.cleanup()
os._exit(0) os._exit(0)

View File

@ -1,6 +1,6 @@
import os import os
from bmconfigparser import BMConfigParser import shared
# This is used so that the translateText function can be used when we are in daemon mode and not using any QT functions. # This is used so that the translateText function can be used when we are in daemon mode and not using any QT functions.
class translateClass: class translateClass:
@ -17,7 +17,7 @@ def _translate(context, text, disambiguation = None, encoding = None, n = None):
return translateText(context, text, n) return translateText(context, text, n)
def translateText(context, text, n = None): def translateText(context, text, n = None):
if not BMConfigParser().safeGetBoolean('bitmessagesettings', 'daemon'): if not shared.thisapp.daemon:
try: try:
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
except Exception as err: except Exception as err: