Peter Eisentraut wrote:
>Andrew Dunstan wrote:
>
>
>>Further investigation has shown that the exit/trap idiom used in
>>pg_regress.sh is less than 100% portable.
>>
>>The following shell script has been seen to produce incorrect output
>>on both Cygwin and FreeBSD:
>>
>>
>>#!/bin/sh
>>
>>trap '
>> st=$?
>> echo status = $st
>> exit $st
>>' 0
>>
>>(exit 9); exit
>>
>>
>
>I seem to recall that there is a bug in the FreeBSD shell with line
>breaks in traps. Try changing the above to
>
>trap 'st=$?; echo status = $st; exit $st' 0
>
>
Thankyou Peter! I'd never have guessed something so obscure!
I have confirmed that this is the problem, and ascertained that the
Cygwin shell exhibits the same behaviour.
I will submit a patch for pg_regress.sh shortly (after a little testing
using buildfarm).
cheers
andrew