Denys Vlasenko | 8d2191c | 2017-07-24 19:42:46 +0200 | [diff] [blame^] | 1 | # Non-empty traps should be reset in subshell |
| 2 | |
| 3 | # HUP is special in interactive shells |
| 4 | trap '' HUP |
| 5 | # QUIT is always special |
| 6 | trap '' QUIT |
| 7 | # SYS is not special |
| 8 | trap '' SYS |
| 9 | # WINCH is harmless |
| 10 | trap 'bad: caught WINCH' WINCH |
| 11 | # With TERM we'll check whether it is reset |
| 12 | trap 'bad: caught TERM' TERM |
| 13 | |
| 14 | (trap; "$THIS_SH" -c 'kill -HUP $PPID'; echo Ok) |
| 15 | (trap; "$THIS_SH" -c 'kill -QUIT $PPID'; echo Ok) |
| 16 | (trap; "$THIS_SH" -c 'kill -SYS $PPID'; echo Ok) |
| 17 | (trap; "$THIS_SH" -c 'kill -WINCH $PPID'; echo Ok) |
| 18 | (trap; "$THIS_SH" -c 'kill -TERM $PPID'; echo Bad: TERM is not reset) |
| 19 | echo Done |