hush: do not reset to default "" traps in subshell
function old new delta reset_traps_to_defaults 164 211 +47 builtin_umask 123 121 -2 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
20
shell/hush_test/hush-trap/subshell.tests
Executable file
20
shell/hush_test/hush-trap/subshell.tests
Executable file
@@ -0,0 +1,20 @@
|
||||
# Non-empty traps should be reset in subshell
|
||||
|
||||
# HUP is special in interactive shells
|
||||
trap '' HUP
|
||||
# QUIT is always special
|
||||
trap '' QUIT
|
||||
# SYS is not special
|
||||
trap '' SYS
|
||||
# WINCH is harmless
|
||||
trap 'bad: caught WINCH' WINCH
|
||||
# With TERM we'll check whether it is reset
|
||||
trap 'bad: caught TERM' TERM
|
||||
|
||||
# using bash, becuase we don't have $PPID (yet)
|
||||
(bash -c 'kill -HUP $PPID'; echo Ok)
|
||||
(bash -c 'kill -QUIT $PPID'; echo Ok)
|
||||
(bash -c 'kill -SYS $PPID'; echo Ok)
|
||||
(bash -c 'kill -WINCH $PPID'; echo Ok)
|
||||
(bash -c 'kill -TERM $PPID'; echo Bad: TERM is not reset)
|
||||
echo Done
|
Reference in New Issue
Block a user