Browse Source

allow client daemon to be launched in the foreground (fix #1873)

283
ThomasV 8 years ago
parent
commit
be15b76c9b
  1. 13
      electrum
  2. 2
      lib/commands.py
  3. 4
      lib/daemon.py

13
electrum

@ -342,14 +342,15 @@ if __name__ == '__main__':
elif cmdname == 'daemon': elif cmdname == 'daemon':
subcommand = config.get('subcommand') subcommand = config.get('subcommand')
assert subcommand in ['start', 'stop', 'status'] assert subcommand in [None, 'start', 'stop', 'status']
if subcommand == 'start': if subcommand in [None, 'start']:
fd, server = daemon.get_fd_or_server(config) fd, server = daemon.get_fd_or_server(config)
if fd is not None: if fd is not None:
pid = os.fork() if subcommand == 'start':
if pid: pid = os.fork()
print_stderr("starting daemon (PID %d)" % pid) if pid:
sys.exit(0) print_stderr("starting daemon (PID %d)" % pid)
sys.exit(0)
init_plugins(config, 'cmdline') init_plugins(config, 'cmdline')
d = daemon.Daemon(config, fd) d = daemon.Daemon(config, fd)
d.start() d.start()

2
lib/commands.py

@ -762,7 +762,7 @@ def get_parser():
add_network_options(parser_gui) add_network_options(parser_gui)
# daemon # daemon
parser_daemon = subparsers.add_parser('daemon', parents=[parent_parser], help="Run Daemon") parser_daemon = subparsers.add_parser('daemon', parents=[parent_parser], help="Run Daemon")
parser_daemon.add_argument("subcommand", choices=['start', 'status', 'stop']) parser_daemon.add_argument("subcommand", choices=['start', 'status', 'stop'], nargs='?')
#parser_daemon.set_defaults(func=run_daemon) #parser_daemon.set_defaults(func=run_daemon)
add_network_options(parser_daemon) add_network_options(parser_daemon)
# commands # commands

4
lib/daemon.py

@ -147,8 +147,8 @@ class Daemon(DaemonThread):
def run_daemon(self, config): def run_daemon(self, config):
sub = config.get('subcommand') sub = config.get('subcommand')
assert sub in ['start', 'stop', 'status'] assert sub in [None, 'start', 'stop', 'status']
if sub == 'start': if sub in [None, 'start']:
response = "Daemon already running" response = "Daemon already running"
elif sub == 'status': elif sub == 'status':
if self.network: if self.network:

Loading…
Cancel
Save