summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-01-20 16:57:28 +0200
committerLV-426 <lv-426@taproot.org.il>2015-01-20 16:57:28 +0200
commit111bebb03143cfb813959d382929f230d94d4288 (patch)
tree90b83b030478b890e484a8709c9ebaced40b5fde /src
parent25ea8213bbf5bb8b404696b9935550a667e940b4 (diff)
SIGINT interrupt handling
Diffstat (limited to 'src')
-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)