use file socket for daemon
This commit is contained in:
parent
490de0d8ce
commit
59c76f5e09
|
@ -30,7 +30,7 @@ from network import Network
|
|||
from util import print_error, print_stderr, parse_json
|
||||
from simple_config import SimpleConfig
|
||||
|
||||
DAEMON_PORT=8001
|
||||
DAEMON_SOCKET = 'daemon.sock'
|
||||
|
||||
|
||||
def do_start_daemon(config):
|
||||
|
@ -43,14 +43,14 @@ def do_start_daemon(config):
|
|||
|
||||
def get_daemon(config, start_daemon=True):
|
||||
import socket
|
||||
daemon_port = config.get('daemon_port', DAEMON_PORT)
|
||||
daemon_socket = os.path.join(config.path, DAEMON_SOCKET)
|
||||
daemon_started = False
|
||||
while True:
|
||||
try:
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
s.connect(('localhost', daemon_port))
|
||||
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
||||
s.connect(daemon_socket)
|
||||
if not daemon_started:
|
||||
print_stderr("Connected to daemon on port %d"%daemon_port)
|
||||
print_stderr("Connected to daemon on", daemon_socket)
|
||||
return s
|
||||
except socket.error:
|
||||
if not start_daemon:
|
||||
|
@ -187,11 +187,13 @@ class NetworkServer(threading.Thread):
|
|||
|
||||
|
||||
def daemon_loop(server):
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
||||
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||
daemon_port = server.config.get('daemon_port', DAEMON_PORT)
|
||||
daemon_socket = os.path.join(server.config.path, DAEMON_SOCKET)
|
||||
if os.path.exists(daemon_socket):
|
||||
os.remove(daemon_socket)
|
||||
daemon_timeout = server.config.get('daemon_timeout', 5*60)
|
||||
s.bind(('localhost', daemon_port))
|
||||
s.bind(daemon_socket)
|
||||
s.listen(5)
|
||||
s.settimeout(1)
|
||||
t = time.time()
|
||||
|
|
|
@ -29,7 +29,7 @@ import util
|
|||
from network import Network
|
||||
from util import print_error, print_stderr, parse_json
|
||||
from simple_config import SimpleConfig
|
||||
from daemon import NetworkServer, DAEMON_PORT
|
||||
from daemon import NetworkServer
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue