Revert "Revert "Daemon network cleanup""

This reverts commit 2c7b10a776.
This commit is contained in:
ThomasV 2016-01-30 11:13:11 +01:00
parent 012f500976
commit 5e6a55edd5
2 changed files with 13 additions and 15 deletions

View File

@ -328,13 +328,7 @@ if __name__ == '__main__':
if server is not None:
result = server.gui(config_options)
else:
if not config.get('offline'):
network = Network(config)
network.start()
else:
network = None
daemon = Daemon(config, network)
daemon.start()
daemon = Daemon(config)
gui = init_gui(config, daemon, plugins)
daemon.gui = gui
gui.main()
@ -351,15 +345,12 @@ if __name__ == '__main__':
elif subcommand == 'start':
p = os.fork()
if p == 0:
network = Network(config)
network.start()
daemon = Daemon(config, network)
daemon = Daemon(config)
if config.get('websocket_server'):
from electrum import websockets
websockets.WebSocketServer(config, network).start()
websockets.WebSocketServer(config, daemon.network).start()
if config.get('requests_dir'):
util.check_www_dir(config.get('requests_dir'))
daemon.start()
daemon.join()
sys.exit(0)
else:

View File

@ -26,7 +26,7 @@ from wallet import WalletStorage, Wallet
from wizard import WizardBase
from commands import known_commands, Commands
from simple_config import SimpleConfig
from network import Network
def lockfile(config):
return os.path.join(config.path, 'daemon')
@ -62,10 +62,16 @@ class RequestHandler(SimpleJSONRPCRequestHandler):
class Daemon(DaemonThread):
def __init__(self, config, network):
def __init__(self, config):
DaemonThread.__init__(self)
self.config = config
self.network = network
if not config.get('offline'):
self.network = Network(config)
self.network.start()
else:
# FIXME: some of the daemon code assumes self.network is not None
# This is not something this change has introduced
self.network = None
self.gui = None
self.wallets = {}
self.wallet = None
@ -82,6 +88,7 @@ class Daemon(DaemonThread):
self.server.register_function(self.ping, 'ping')
self.server.register_function(self.run_daemon, 'daemon')
self.server.register_function(self.run_gui, 'gui')
self.start()
def ping(self):
return True