Skip to content
Snippets Groups Projects
Commit 6b5e5018 authored by Guido Trotter's avatar Guido Trotter
Browse files

Convert ganeti-masterd to @utils.SignalHandled


Signed-off-by: default avatarGuido Trotter <ultrotter@google.com>
Reviewed-by: default avatarIustin Pop <iustin@google.com>
parent 451575de
No related branches found
No related tags found
No related merge requests found
...@@ -108,14 +108,17 @@ class IOServer(SocketServer.UnixStreamServer): ...@@ -108,14 +108,17 @@ class IOServer(SocketServer.UnixStreamServer):
""" """
self.request_workers.AddTask(self, request, client_address) self.request_workers.AddTask(self, request, client_address)
def serve_forever(self): @utils.SignalHandled([signal.SIGINT, signal.SIGTERM])
def serve_forever(self, signal_handlers=None):
"""Handle one request at a time until told to quit.""" """Handle one request at a time until told to quit."""
sighandler = utils.SignalHandler([signal.SIGINT, signal.SIGTERM]) assert isinstance(signal_handlers, dict) and \
try: len(signal_handlers) > 0, \
while not sighandler.called: "Broken SignalHandled decorator"
self.handle_request() # Since we use SignalHandled only once, the resulting dict will map all
finally: # signals to the same handler. We'll just use the first one.
sighandler.Reset() sighandler = signal_handlers.values()[0]
while not sighandler.called:
self.handle_request()
def server_cleanup(self): def server_cleanup(self):
"""Cleanup the server. """Cleanup the server.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment