From 111bebb03143cfb813959d382929f230d94d4288 Mon Sep 17 00:00:00 2001 From: LV-426 Date: Tue, 20 Jan 2015 16:57:28 +0200 Subject: SIGINT interrupt handling --- src/server/rz_server.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/server') diff --git a/src/server/rz_server.py b/src/server/rz_server.py index 68784338..2794da28 100644 --- a/src/server/rz_server.py +++ b/src/server/rz_server.py @@ -255,6 +255,15 @@ def init_config(cfg_dir): cfg = Config.init_from_file(cfg_path) return cfg + +def init_signal_handlers(): + + def signal_handler__exit(signum, frame): + log.info('received exit signal: SIGINT') + exit(0) + + signal.signal(signal.SIGINT, signal_handler__exit) + if __name__ == "__main__": p = argparse.ArgumentParser(description='rhizi-server') @@ -269,8 +278,13 @@ if __name__ == "__main__": if False == cfg.access_control: log.warn('access control disabled, all-granted access set on all URLs') + init_signal_handlers() + kernel = RZ_Kernel() webapp = init_webapp(cfg, kernel) ws_srv = init_ws_interface(cfg, kernel, webapp) - ws_srv.serve_forever() + try: + ws_srv.serve_forever() + except Exception as e: + log.exception(e) -- cgit v1.3.1