From a84c61dd82b17bc42593e5fd358cd0917d195f4f Mon Sep 17 00:00:00 2001
From: Christian Grothoff <christian@grothoff.org>
Date: Wed, 19 Aug 2020 18:03:45 +0200
Subject: [PATCH] fix #6483: ensure cleanup of processes on exit

---
 src/auditor/test-auditor.sh    | 12 ++++++++++--
 src/auditor/test-revocation.sh | 12 ++++++++++--
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/src/auditor/test-auditor.sh b/src/auditor/test-auditor.sh
index edf5fec59..e7cdaa161 100755
--- a/src/auditor/test-auditor.sh
+++ b/src/auditor/test-auditor.sh
@@ -36,11 +36,19 @@ function exit_skip() {
 # Exit, with error message (hard failure)
 function exit_fail() {
     echo $1
-    kill `jobs -p` >/dev/null 2>/dev/null || true
-    wait
     exit 1
 }
 
+# Cleanup to run whenever we exit
+function cleanup()
+{
+    kill `jobs -p` >/dev/null 2>/dev/null || true
+    wait
+}
+
+# Install cleanup handler (except for kill -9)
+trap cleanup EXIT
+
 
 # Operations to run before the actual audit
 function pre_audit () {
diff --git a/src/auditor/test-revocation.sh b/src/auditor/test-revocation.sh
index 1b5070a3b..ac1f4dcc8 100755
--- a/src/auditor/test-revocation.sh
+++ b/src/auditor/test-revocation.sh
@@ -36,11 +36,19 @@ function exit_skip() {
 # Exit, with error message (hard failure)
 function exit_fail() {
     echo $1
-    kill `jobs -p` >/dev/null 2>/dev/null || true
-    wait
     exit 1
 }
 
+# Cleanup to run whenever we exit
+function cleanup()
+{
+    kill `jobs -p` >/dev/null 2>/dev/null || true
+    wait
+}
+
+# Install cleanup handler (except for kill -9)
+trap cleanup EXIT
+
 
 # Operations to run before the actual audit
 function pre_audit () {