move http server init; log to file when debugging
This commit is contained in:
@@ -83,6 +83,14 @@ class NullDevice:
|
|||||||
def write(self, s):
|
def write(self, s):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
class LogDevice:
|
||||||
|
def __init__(self):
|
||||||
|
self.fh = open("/tmp/log1","a")
|
||||||
|
|
||||||
|
def write(self, s):
|
||||||
|
self.fh.write(s)
|
||||||
|
self.fh.flush()
|
||||||
|
|
||||||
|
|
||||||
class Host:
|
class Host:
|
||||||
up = "up"
|
up = "up"
|
||||||
@@ -694,13 +702,14 @@ def closeup():
|
|||||||
sock6.close()
|
sock6.close()
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
if DEBUG > 0: sys.stderr.write("asking http server to stop\n")
|
|
||||||
|
|
||||||
|
if DEBUG > 0: sys.stderr.write("asking http server to stop\n")
|
||||||
try:
|
try:
|
||||||
serv.shutdown()
|
serv.shutdown()
|
||||||
if DEBUG > 0: sys.stderr.write("http server stopped\n")
|
if DEBUG > 0: sys.stderr.write("http server stopped\n")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
if DEBUG > 0: sys.stderr.write("http server did NOT stop: %s\n" % str(e))
|
if DEBUG > 0: sys.stderr.write("http server did NOT stop: %s\n" % str(e))
|
||||||
|
|
||||||
try:
|
try:
|
||||||
serv.server_close()
|
serv.server_close()
|
||||||
except:
|
except:
|
||||||
@@ -893,17 +902,6 @@ sock6.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
|||||||
sock6.bind(("", hb_port))
|
sock6.bind(("", hb_port))
|
||||||
ilist.append(sock6)
|
ilist.append(sock6)
|
||||||
|
|
||||||
|
|
||||||
try:
|
|
||||||
serv = HttpServer((hbd_host, hbd_port), HttpHandler)
|
|
||||||
except:
|
|
||||||
print "failed to start server on %s:%s" % (hbd_host, hbd_port)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
servthread = threading.Thread(target=serv.serve_forever)
|
|
||||||
servthread.daemon = True
|
|
||||||
servthread.start()
|
|
||||||
|
|
||||||
#ilist.append(serv.fileno())
|
#ilist.append(serv.fileno())
|
||||||
|
|
||||||
if not forground:
|
if not forground:
|
||||||
@@ -918,12 +916,26 @@ if not forground:
|
|||||||
os.close(1)
|
os.close(1)
|
||||||
os.close(2)
|
os.close(2)
|
||||||
sys.stdin.close()
|
sys.stdin.close()
|
||||||
|
if DEBUG > 0:
|
||||||
|
sys.stdout = LogDevice()
|
||||||
|
sys.stderr = LogDevice()
|
||||||
|
else:
|
||||||
sys.stdout = NullDevice()
|
sys.stdout = NullDevice()
|
||||||
sys.stderr = NullDevice()
|
sys.stderr = NullDevice()
|
||||||
os.chdir("/")
|
os.chdir("/tmp")
|
||||||
os.setsid()
|
os.setsid()
|
||||||
os.umask(0)
|
os.umask(0)
|
||||||
|
|
||||||
|
try:
|
||||||
|
serv = HttpServer((hbd_host, hbd_port), HttpHandler)
|
||||||
|
except:
|
||||||
|
print "failed to start server on %s:%s" % (hbd_host, hbd_port)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
servthread = threading.Thread(target=serv.serve_forever)
|
||||||
|
servthread.daemon = True
|
||||||
|
servthread.start()
|
||||||
|
|
||||||
dnsQ = Queue.Queue()
|
dnsQ = Queue.Queue()
|
||||||
dnsT = threading.Thread(target=dnsupdatethread)
|
dnsT = threading.Thread(target=dnsupdatethread)
|
||||||
dnsT.daemon = True
|
dnsT.daemon = True
|
||||||
@@ -931,7 +943,7 @@ dnsT.start()
|
|||||||
|
|
||||||
running = True
|
running = True
|
||||||
sig = 0
|
sig = 0
|
||||||
#signal.signal(signal.SIGTERM, handler)
|
signal.signal(signal.SIGTERM, handler)
|
||||||
signal.signal(signal.SIGHUP, handler)
|
signal.signal(signal.SIGHUP, handler)
|
||||||
|
|
||||||
next = int(now)+15 # 15 seconds time to settle after (re-)start
|
next = int(now)+15 # 15 seconds time to settle after (re-)start
|
||||||
|
|||||||
Reference in New Issue
Block a user