websocket: support SIGTERM as exit signal
Similar to SIGINT that is already supported, support SIGTERM in daemon and non daemon modes. Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
This commit is contained in:
parent
8f12ca7a5a
commit
a70be8d636
|
|
@ -219,8 +219,7 @@ Sec-WebSocket-Accept: %s\r
|
||||||
if os.fork() > 0: os._exit(0) # Parent exits
|
if os.fork() > 0: os._exit(0) # Parent exits
|
||||||
|
|
||||||
# Signal handling
|
# Signal handling
|
||||||
def terminate(a,b): os._exit(0)
|
signal.signal(signal.SIGTERM, signal.SIG_IGN)
|
||||||
signal.signal(signal.SIGTERM, terminate)
|
|
||||||
signal.signal(signal.SIGINT, signal.SIG_IGN)
|
signal.signal(signal.SIGINT, signal.SIG_IGN)
|
||||||
|
|
||||||
# Close open files
|
# Close open files
|
||||||
|
|
@ -767,6 +766,10 @@ Sec-WebSocket-Accept: %s\r
|
||||||
self.msg("Got SIGINT, exiting")
|
self.msg("Got SIGINT, exiting")
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
|
def do_SIGTERM(self, sig, stack):
|
||||||
|
self.msg("Got SIGTERM, exiting")
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
def top_new_client(self, startsock, address):
|
def top_new_client(self, startsock, address):
|
||||||
""" Do something with a WebSockets client connection. """
|
""" Do something with a WebSockets client connection. """
|
||||||
# Initialize per client settings
|
# Initialize per client settings
|
||||||
|
|
@ -838,8 +841,9 @@ Sec-WebSocket-Accept: %s\r
|
||||||
|
|
||||||
self.started() # Some things need to happen after daemonizing
|
self.started() # Some things need to happen after daemonizing
|
||||||
|
|
||||||
# Allow override of SIGINT
|
# Allow override of signals
|
||||||
signal.signal(signal.SIGINT, self.do_SIGINT)
|
signal.signal(signal.SIGINT, self.do_SIGINT)
|
||||||
|
signal.signal(signal.SIGTERM, self.do_SIGTERM)
|
||||||
if not multiprocessing:
|
if not multiprocessing:
|
||||||
# os.fork() (python 2.4) child reaper
|
# os.fork() (python 2.4) child reaper
|
||||||
signal.signal(signal.SIGCHLD, self.fallback_SIGCHLD)
|
signal.signal(signal.SIGCHLD, self.fallback_SIGCHLD)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue