Denys Vlasenko | 67f7186 | 2009-09-25 14:21:06 +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 | # using bash, becuase we don't have $PPID (yet) |
| 15 | (bash -c 'kill -HUP $PPID'; echo Ok) |
| 16 | (bash -c 'kill -QUIT $PPID'; echo Ok) |
| 17 | (bash -c 'kill -SYS $PPID'; echo Ok) |
| 18 | (bash -c 'kill -WINCH $PPID'; echo Ok) |
| 19 | (bash -c 'kill -TERM $PPID'; echo Bad: TERM is not reset) |
| 20 | echo Done |