bug() { | |
trap : exit | |
# Bug was causing sh to be run in subshell, | |
# as if this line is replaced with (sh -c ...; exit $?) & | |
# here: | |
sh -c 'echo REAL_CHILD=$$' & | |
echo PARENTS_IDEA_OF_CHILD=$! | |
wait # make sure bkgd shell completes | |
} | |
bug | { | |
while read varval; do | |
eval $varval | |
done | |
test x"$REAL_CHILD" != x"" \ | |
&& test x"$REAL_CHILD" = x"$PARENTS_IDEA_OF_CHILD" | |
echo "Bug detected: $?" | |
} |