Skip to content

Commit

Permalink
Merge pull request #6954 from gilles-peskine-arm/6658-not-print-Termi…
Browse files Browse the repository at this point in the history
…nated-ubuntu-22.04-2.28

Backport 2.28: Fix the problem of printing "Terminated" in compat.sh under Ubuntu-22.04
  • Loading branch information
gilles-peskine-arm authored Jan 26, 2023
2 parents 8431fe0 + 2a7b2a6 commit c2738f2
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions tests/compat.sh
Original file line number Diff line number Diff line change
Expand Up @@ -1092,15 +1092,17 @@ start_server() {
echo "$SERVER_CMD" > $SRV_OUT
# for servers without -www or equivalent
while :; do echo bla; sleep 1; done | $SERVER_CMD >> $SRV_OUT 2>&1 &
PROCESS_ID=$!
SRV_PID=$!

wait_server_start "$PORT" "$PROCESS_ID"
wait_server_start "$PORT" "$SRV_PID"
}

# terminate the running server
stop_server() {
kill $PROCESS_ID 2>/dev/null
wait $PROCESS_ID 2>/dev/null
# For Ubuntu 22.04, `Terminated` message is outputed by wait command.
# To remove it from stdout, redirect stdout/stderr to SRV_OUT
kill $SRV_PID >/dev/null 2>&1
wait $SRV_PID >> $SRV_OUT 2>&1

if [ "$MEMCHECK" -gt 0 ]; then
if is_mbedtls "$SERVER_CMD" && has_mem_err $SRV_OUT; then
Expand All @@ -1116,7 +1118,7 @@ stop_server() {
# kill the running server (used when killed by signal)
cleanup() {
rm -f $SRV_OUT $CLI_OUT
kill $PROCESS_ID >/dev/null 2>&1
kill $SRV_PID >/dev/null 2>&1
kill $WATCHDOG_PID >/dev/null 2>&1
exit 1
}
Expand All @@ -1129,11 +1131,13 @@ wait_client_done() {
( sleep "$DOG_DELAY"; echo "TIMEOUT" >> $CLI_OUT; kill $CLI_PID ) &
WATCHDOG_PID=$!

wait $CLI_PID
# For Ubuntu 22.04, `Terminated` message is outputed by wait command.
# To remove it from stdout, redirect stdout/stderr to CLI_OUT
wait $CLI_PID >> $CLI_OUT 2>&1
EXIT=$?

kill $WATCHDOG_PID
wait $WATCHDOG_PID
kill $WATCHDOG_PID >/dev/null 2>&1
wait $WATCHDOG_PID >> $CLI_OUT 2>&1

echo "EXIT: $EXIT" >> $CLI_OUT
}
Expand Down

0 comments on commit c2738f2

Please sign in to comment.