[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#13185: Test case 'misc/timeout-group' failed
From: |
Stefano Lattarini |
Subject: |
bug#13185: Test case 'misc/timeout-group' failed |
Date: |
Tue, 18 Dec 2012 14:36:38 +0100 |
On 12/18/2012 02:18 PM, Pádraig Brady wrote:
>
> I noticed a possible race in the test script.
> So I'll apply this soon.
>
> thanks,
> Pádraig.
>
> commit 09f72d285514a91495960ea3b0570251eed415b0
> Author: Pádraig Brady <address@hidden>
> Date: Tue Dec 18 13:06:15 2012 +0000
>
> tests: avoid a race in timeout-group.sh
>
> * tests/misc/timeout-group.sh: The kernel might possibly delay
> signal propagation to timeout.cmd long enough, that it exits
> normally without running the signal handler (as sleep will
> be in the same process group and so get the signal too).
> So avoid this by explicitly checking that the signal handler
> is called, which should always happen under normal circumstances.
> Reported by Stefano Lattarini on linux-2.6.30-2-686 and bash-4.2.36.
>
> diff --git a/tests/misc/timeout-group.sh b/tests/misc/timeout-group.sh
> index 4cefc33..7117abb 100755
> --- a/tests/misc/timeout-group.sh
> +++ b/tests/misc/timeout-group.sh
> @@ -34,7 +34,11 @@ cat > timeout.cmd <<\EOF
> #!/bin/sh
> trap 'touch int.received; exit' INT
> touch timeout.running
> -sleep $1
> +count=$1
> +until test -e int.received || test $count = 0; do
> + sleep 1
> + count=$(expr $count - 1)
> +done
> EOF
> chmod a+x timeout.cmd
>
>
Seems sensible to me. Let's hope it works; I'll re-open this report
if I ever stumble into this problem again.
Thanks,
Stefano