summaryrefslogtreecommitdiff
path: root/src/mailman/runners/rest.py
diff options
context:
space:
mode:
authorBarry Warsaw2011-08-15 22:05:22 -0400
committerBarry Warsaw2011-08-15 22:05:22 -0400
commit51319c7b0f1790b32ec360366ab3435b042363e2 (patch)
tree8fe70a5f2f625788e35ce453c7bc4d6bce1d9f9c /src/mailman/runners/rest.py
parent18c48f8660b70bf9c41cd4f24c2112ce719ff455 (diff)
downloadmailman-51319c7b0f1790b32ec360366ab3435b042363e2.tar.gz
mailman-51319c7b0f1790b32ec360366ab3435b042363e2.tar.zst
mailman-51319c7b0f1790b32ec360366ab3435b042363e2.zip
Diffstat (limited to 'src/mailman/runners/rest.py')
-rw-r--r--src/mailman/runners/rest.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mailman/runners/rest.py b/src/mailman/runners/rest.py
index 1e631c6a3..cc55001c7 100644
--- a/src/mailman/runners/rest.py
+++ b/src/mailman/runners/rest.py
@@ -44,15 +44,20 @@ class RESTRunner(Runner):
def run(self):
log.info('Starting REST server')
+ # Handle SIGTERM the same way as SIGINT.
+ def stop_server(signum, frame):
+ log.info('REST server shutdown')
+ sys.exit(signal.SIGTERM)
+ signal.signal(signal.SIGTERM, stop_server)
try:
make_server().serve_forever()
except KeyboardInterrupt:
log.info('REST server interrupted')
- sys.exit(signal.SIGTERM)
+ sys.exit(signal.SIGINT)
except select.error as (errcode, message):
if errcode == errno.EINTR:
log.info('REST server exiting')
- sys.exit(signal.SIGTERM)
+ sys.exit(errno.EINTR)
raise
except:
raise