]> granicus.if.org Git - pdns/commitdiff
Wait until processes die before exiting
authorAki Tuomi <cmouse@cmouse.fi>
Mon, 9 Dec 2013 21:27:14 +0000 (23:27 +0200)
committerAki Tuomi <cmouse@cmouse.fi>
Mon, 9 Dec 2013 21:27:14 +0000 (23:27 +0200)
regression-tests/start-test-stop

index 51e808476cf7913cc39101a2f90949dd73cc2a62..0d9592b60cfdd8029c6be93fb3bc2f639bfc05a4 100755 (executable)
@@ -1247,6 +1247,26 @@ then
        read l
 fi
 
-kill $(cat pdns*.pid)
+pids=$(cat pdns*.pid)
+
+kill $pids
+# make sure they die.
+set +e
+loopcount=0
+done=0
+while [ $loopcount -lt 10 ] && [ $done -eq 0 ]
+do
+  done=1
+  for pid in $pids
+  do
+    kill -0 $pid > /dev/null 2>&1
+    if [ $? -eq 0 ]; then 
+      done=0
+    fi
+  done
+  let loopcount=loopcount+1
+  sleep 1
+done
+
 rm pdns*.pid || true
 exit $RETVAL