shell/ash_test/ash-signals/catch.right+5 -0
| @@ -0,0 +1,5 @@ |
| + | sending USR2 |
| + | caught |
| + | sending USR2 |
| + | sending USR2 |
| + | User defined signal 2 |
shell/ash_test/ash-signals/catch.tests+20 -0
| @@ -0,0 +1,20 @@ |
| + | # avoid ugly warnings about signals not being caught |
| + | trap ":" USR1 USR2 |
| + | |
| + | "$THIS_SH" -c ' |
| + | trap "echo caught" USR2 |
| + | echo "sending USR2" |
| + | kill -USR2 $$ |
| + | |
| + | trap "" USR2 |
| + | echo "sending USR2" |
| + | kill -USR2 $$ |
| + | |
| + | trap "-" USR2 |
| + | echo "sending USR2" |
| + | kill -USR2 $$ |
| + | |
| + | echo "not reached" |
| + | ' |
| + | |
| + | trap "-" USR1 USR2 |
shell/ash_test/ash-signals/signal_read2.right+2 -0
| @@ -0,0 +1,2 @@ |
| + | Hangup |
| + | Done:129 |
shell/ash_test/ash-signals/signal_read2.tests+7 -0
| @@ -0,0 +1,7 @@ |
| + | $THIS_SH -c ' |
| + | (sleep 1; kill -HUP $$) & |
| + | while true; do |
| + | read ignored |
| + | done |
| + | ' |
| + | echo "Done:$?" |
shell/ash_test/ash-signals/subshell.right+21 -0
| @@ -0,0 +1,21 @@ |
| + | trap -- '' HUP |
| + | trap -- '' QUIT |
| + | trap -- '' SYS |
| + | Ok |
| + | trap -- '' HUP |
| + | trap -- '' QUIT |
| + | trap -- '' SYS |
| + | Ok |
| + | trap -- '' HUP |
| + | trap -- '' QUIT |
| + | trap -- '' SYS |
| + | Ok |
| + | trap -- '' HUP |
| + | trap -- '' QUIT |
| + | trap -- '' SYS |
| + | Ok |
| + | trap -- '' HUP |
| + | trap -- '' QUIT |
| + | trap -- '' SYS |
| + | Terminated |
| + | Done |
shell/ash_test/ash-signals/subshell.tests+19 -0
| @@ -0,0 +1,19 @@ |
| + | # 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 |
| + | |
| + | (trap; "$THIS_SH" -c 'kill -HUP $PPID'; echo Ok) |
| + | (trap; "$THIS_SH" -c 'kill -QUIT $PPID'; echo Ok) |
| + | (trap; "$THIS_SH" -c 'kill -SYS $PPID'; echo Ok) |
| + | (trap; "$THIS_SH" -c 'kill -WINCH $PPID'; echo Ok) |
| + | (trap; "$THIS_SH" -c 'kill -TERM $PPID'; echo Bad: TERM is not reset) |
| + | echo Done |