hush: fix "wait PID"
authorDenys Vlasenko <vda.linux@googlemail.com>
Fri, 28 Oct 2016 19:57:31 +0000 (21:57 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Fri, 28 Oct 2016 19:59:09 +0000 (21:59 +0200)
commit7e6753609d102b68a625072fb1660065246a54e2
treecd18eb18be9402da2bc1daf6ac9b53acba94dcbf
parent8f7b0248adca9a88351fd7f3dd208775242f3fe6
hush: fix "wait PID"

It was not properly interruptible, and did not update job status
(the exited processes were still thought of as running).

function                                             old     new   delta
process_wait_result                                    -     453    +453
wait_for_child_or_signal                               -     199    +199
run_list                                             996    1002      +6
checkjobs_and_fg_shell                                41      43      +2
builtin_wait                                         328     215    -113
checkjobs                                            516     142    -374
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 2/2 up/down: 660/-487)          Total: 173 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
shell/hush.c
shell/hush_test/hush-misc/wait1.right [new file with mode: 0644]
shell/hush_test/hush-misc/wait1.tests [new file with mode: 0755]
shell/hush_test/hush-misc/wait2.right [new file with mode: 0644]
shell/hush_test/hush-misc/wait2.tests [new file with mode: 0755]
shell/hush_test/hush-misc/wait3.right [new file with mode: 0644]
shell/hush_test/hush-misc/wait3.tests [new file with mode: 0755]