From 3145e94797af2e175fc7ccf8c017110c3b87cddb Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Fri, 18 Sep 2015 15:27:09 +0200 Subject: [PATCH] check ignore_sigterm flag instead of setting new handler for SIGTERM --- patroni/utils.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/patroni/utils.py b/patroni/utils.py index 898b058e..19d5837a 100644 --- a/patroni/utils.py +++ b/patroni/utils.py @@ -8,6 +8,7 @@ import time from patroni.exceptions import DCSError +ignore_sigterm = False interrupted_sleep = False reap_children = False @@ -46,8 +47,10 @@ def calculate_ttl(expiration): def sigterm_handler(signo, stack_frame): - signal.signal(signal.SIGTERM, signal.SIG_IGN) - sys.exit() + global ignore_sigterm + if not ignore_sigterm: + ignore_sigterm = True + sys.exit() def sigchld_handler(signo, stack_frame):