From 75a0da8913d122fed8d0fb159990c3f30ab939f8 Mon Sep 17 00:00:00 2001 From: Tafelpoot Date: Thu, 20 Nov 2014 11:52:57 +0100 Subject: [PATCH] fix daemon for windows --- lib/daemon.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/daemon.py b/lib/daemon.py index e9adbdfcf..91411ec7e 100644 --- a/lib/daemon.py +++ b/lib/daemon.py @@ -36,8 +36,13 @@ DAEMON_PORT=8001 def do_start_daemon(config): import subprocess logfile = open(os.path.join(config.path, 'daemon.log'),'w') - p = subprocess.Popen(["python2",__file__], stderr=logfile, stdout=logfile, close_fds=True) - print_stderr("starting daemon (PID %d)"%p.pid) + if sys.platform == "win32": + p = subprocess.Popen(["python",__file__], stderr=logfile, stdout=logfile) + print_stderr("starting daemon (PID %d)"%p.pid) + else: + p = subprocess.Popen(["python2",__file__], stderr=logfile, stdout=logfile, close_fds=True) + print_stderr("starting daemon (PID %d)"%p.pid) + def get_daemon(config, start_daemon=True): @@ -47,7 +52,7 @@ def get_daemon(config, start_daemon=True): while True: try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.connect(('', daemon_port)) + s.connect(('localhost', daemon_port)) if not daemon_started: print_stderr("Connected to daemon on port %d"%daemon_port) return s @@ -190,7 +195,7 @@ def daemon_loop(server): s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) daemon_port = server.config.get('daemon_port', DAEMON_PORT) daemon_timeout = server.config.get('daemon_timeout', 5*60) - s.bind(('', daemon_port)) + s.bind(('localhost', daemon_port)) s.listen(5) s.settimeout(1) t = time.time()