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

This commit is contained in:
ThomasV 2017-01-07 10:10:51 +01:00
parent f381aee835
commit be15b76c9b
3 changed files with 10 additions and 9 deletions

View File

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

View File

@ -762,7 +762,7 @@ def get_parser():
add_network_options(parser_gui)
# 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)
add_network_options(parser_daemon)
# commands

View File

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