summaryrefslogtreecommitdiffstats
path: root/install
diff options
context:
space:
mode:
authorJan Cholasta <jcholast@redhat.com>2012-03-20 12:29:36 -0400
committerMartin Kosek <mkosek@redhat.com>2012-03-23 10:53:02 +0100
commitd9e8b9a3ed7b26e9cb6bb891cf0d5bb4fcd66dbf (patch)
treea55bf72fe14cfb8bd0bacb4088c7335603220c2b /install
parentf6077c46b373cdd9dbc1c7618d067921df0cedb0 (diff)
downloadfreeipa-d9e8b9a3ed7b26e9cb6bb891cf0d5bb4fcd66dbf.tar.gz
freeipa-d9e8b9a3ed7b26e9cb6bb891cf0d5bb4fcd66dbf.tar.xz
freeipa-d9e8b9a3ed7b26e9cb6bb891cf0d5bb4fcd66dbf.zip
Wait for child process to terminate after receiving SIGINT in ipautil.run.
Do cleanup on KeyboardInterrupt rather than in custom SIGINT handler in ipa-replica-conncheck. https://fedorahosted.org/freeipa/ticket/2127
Diffstat (limited to 'install')
-rwxr-xr-xinstall/tools/ipa-replica-conncheck13
1 files changed, 5 insertions, 8 deletions
diff --git a/install/tools/ipa-replica-conncheck b/install/tools/ipa-replica-conncheck
index 44b3caa45..23411a351 100755
--- a/install/tools/ipa-replica-conncheck
+++ b/install/tools/ipa-replica-conncheck
@@ -158,12 +158,10 @@ def clean_responders(responders):
responders.remove(responder)
def sigterm_handler(signum, frame):
- print_info("\nCleaning up...")
-
- global RESPONDERS
- clean_responders(RESPONDERS)
-
- sys.exit(1)
+ # do what SIGINT does (raise a KeyboardInterrupt)
+ sigint_handler = signal.getsignal(signal.SIGINT)
+ if callable(sigint_handler):
+ sigint_handler(signum, frame)
def configure_krb5_conf(realm, kdc, filename):
@@ -268,7 +266,6 @@ def main():
root_logger.debug("missing options might be asked for interactively later\n")
signal.signal(signal.SIGTERM, sigterm_handler)
- signal.signal(signal.SIGINT, sigterm_handler)
required_ports = BASE_PORTS
if options.check_ca:
@@ -384,6 +381,7 @@ if __name__ == "__main__":
except SystemExit, e:
sys.exit(e)
except KeyboardInterrupt:
+ print_info("\nCleaning up...")
sys.exit(1)
except RuntimeError, e:
sys.exit(e)
@@ -395,4 +393,3 @@ if __name__ == "__main__":
os.remove(file_name)
except OSError:
pass
-