On 11/02/11 14:49, Eric Blake wrote: > Another portability concern - with newer ksh, and allowed by POSIX, > a child that exits due to a signal causes $? to be 269, not 141.
Thanks. Plus, POSIX doesn't require SIGPIPE to be 13, so the 141 is unportable for that reason too. I pushed this: * tests/zgrep-signal: Don't assume exit status 141 on PIPE signal. Problem reported by Eric Blake in <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00007.html>. diff --git a/tests/zgrep-signal b/tests/zgrep-signal index e19293a..3260875 100644 --- a/tests/zgrep-signal +++ b/tests/zgrep-signal @@ -43,13 +43,14 @@ write_to_dangling_pipe () { ) | : || framework_failure_ } -st=$(write_to_dangling_pipe cat f.gz f.gz) -test "$st" = 141 || framework_failure_ 'signal handling busted on this host' +signal_status=$(write_to_dangling_pipe cat f.gz f.gz) +test 128 -lt $signal_status || + framework_failure_ 'signal handling busted on this host' fail=0 st=$(write_to_dangling_pipe zgrep a f.gz f.gz) -test "$st" = 141 || fail=1 +test $st = $signal_status || fail=1 Exit $fail