summaryrefslogtreecommitdiff
path: root/src/mailman/runners/rest.py
diff options
context:
space:
mode:
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