GNU bug report logs -
#13185
Test case 'misc/timeout-group' failed
Previous Next
Full log
Message #22 received at 13185-done <at> debbugs.gnu.org (full text, mbox):
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 <P <at> draigBrady.com>
> 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
This bug report was last modified 12 years and 161 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.