diff options
author | Rafael Durán Castañeda <rafadurancastaneda@gmail.com> | 2012-05-04 20:18:37 +0200 |
---|---|---|
committer | Rafael Durán Castañeda <rafadurancastaneda@gmail.com> | 2012-05-15 13:34:11 +0200 |
commit | 012c3d361fc2f6855f3612967aada0fa04aac188 (patch) | |
tree | 4f0b0cdf0792ad6d5f10beb8922e755eed0b9d86 /bin | |
parent | 3c9c38a8e08dd0300a04edb843a0b3e49486e86f (diff) | |
download | keystone-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-x | bin/keystone-all | 9 |
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, |