summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/keystone-all9
1 files changed, 9 insertions, 0 deletions
diff --git a/bin/keystone-all b/bin/keystone-all
index be9f3e93..4767c258 100755
--- a/bin/keystone-all
+++ b/bin/keystone-all
@@ -4,6 +4,7 @@
import greenlet
import logging
import os
+import signal
import sys
# If ../keystone/__init__.py exists, add ../ to Python search path, so that
@@ -35,7 +36,15 @@ def create_server(conf, name, host, port):
return server
+def sigint_handler(signal, frame):
+ """Exits at SIGINT signal."""
+ logging.debug('SIGINT received, stopping servers.')
+ sys.exit(0)
+
+
def serve(*servers):
+ signal.signal(signal.SIGINT, sigint_handler)
+
for server in servers:
logging.debug("starting server %s on port %s",
server.application,