diff options
author | Ron Yorston <rmy@pobox.com> | 2020-06-20 12:13:57 +0100 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2020-06-20 12:13:57 +0100 |
commit | 53aca1b56db730b0103f5ec2e692327237a775e2 (patch) | |
tree | 3f84a84b3e2728f424db141e19dfb5118e964025 /arch | |
parent | da7c8cdf631fc0754d30d5b997ee71a085699469 (diff) | |
download | busybox-w32-53aca1b56db730b0103f5ec2e692327237a775e2.tar.gz busybox-w32-53aca1b56db730b0103f5ec2e692327237a775e2.tar.bz2 busybox-w32-53aca1b56db730b0103f5ec2e692327237a775e2.zip |
ash: changes to ctrl-c handling
Make ctrl-c handling more like Unix. Remove the hSIGINT event and the
code in waitpid_child() to catch it. Add a call to raise_interrupt()
in ctrl_handler().
Prior to these changes interrupts in a child shell weren't properly
handled. In release FRP-3466-g53c09d0e1 interrupting a sleep in a
child shell results in both shells competing for input:
~ $ sh
~ $ sleep 10
^C^C
~ $ ~ $ pwd
sh: w: not found
~ $
sh: pd: not found
~ $
With recent changes:
~ $ sh
~ $ sleep 10
^C
~ $ echo $?
130
~ $ exit
^C
~ $ echo $?
130
~ $
The error return from the parent shell is due to the lack of job
control. Upstream BusyBox ash and dash both do the same when job
control is disabled.
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions