24 lines
606 B
Python
24 lines
606 B
Python
import socketserver, threading
|
|
|
|
class ReloadServerHandler(socketserver.BaseRequestHandler):
|
|
|
|
def handle(self) :
|
|
data = self.request.recv(512)
|
|
if not data :
|
|
return
|
|
with self.server.lock :
|
|
ret = self.server.autoconf.reload()
|
|
if ret :
|
|
self.request.sendall("ok")
|
|
else :
|
|
self.request.sendall("ko")
|
|
|
|
def run_reload_server(autoconf, lock) :
|
|
server = socketserver.UnixStreamServer("/tmp/autoconf.pid", ReloadServerHandler)
|
|
server.autoconf = autoconf
|
|
server.lock = lock
|
|
thread = threading.Thread(target=server.serve_forever)
|
|
thread.daemon = True
|
|
thread.start()
|
|
return (server, thread)
|