summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorRafael Durán Castañeda <rafadurancastaneda@gmail.com>2012-05-04 20:18:37 +0200
committerRafael Durán Castañeda <rafadurancastaneda@gmail.com>2012-05-15 13:34:11 +0200
commit012c3d361fc2f6855f3612967aada0fa04aac188 (patch)
tree4f0b0cdf0792ad6d5f10beb8922e755eed0b9d86 /bin
parent3c9c38a8e08dd0300a04edb843a0b3e49486e86f (diff)
downloadkeystone-012c3d361fc2f6855f3612967aada0fa04aac188.tar.gz
keystone-012c3d361fc2f6855f3612967aada0fa04aac188.tar.xz
keystone-012c3d361fc2f6855f3612967aada0fa04aac188.zip
One 'ctrl-c' kills keystone.
Fixes bug 928564. Change-Id: I5ba157244d5ba9a018244141c27806db2b82f1e8
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 f58c2a03..075b007e 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
@@ -30,7 +31,15 @@ def create_server(conf, name, host, port):
return wsgi.Server(app, host=host, port=port)
+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,