| 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: $?" | |
| } |