summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/rz_server.py16
1 files changed, 15 insertions, 1 deletions
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)