ash: fix $! value when traps are set
Signed-off-by: Alexander Shishkin <virtuoso@slind.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
committed by
Denys Vlasenko
parent
7a2ba329b9
commit
ccb9771861
1
shell/ash_test/ash-signals/signal7.right
Normal file
1
shell/ash_test/ash-signals/signal7.right
Normal file
@@ -0,0 +1 @@
|
||||
Bug detected: 0
|
18
shell/ash_test/ash-signals/signal7.tests
Executable file
18
shell/ash_test/ash-signals/signal7.tests
Executable file
@@ -0,0 +1,18 @@
|
||||
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: $?"
|
||||
}
|
Reference in New Issue
Block a user