diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2023-01-26 12:56:33 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2023-01-26 12:56:33 +0100 |
commit | 93e0898c663a533082b5f3c2e7dcce93ec47076d (patch) | |
tree | d44936a40fcac122b94d4b235195e6832446b27b /shell/ash.c | |
parent | c2739e11dee92770839ac9b2dbf020459baec7b9 (diff) | |
download | busybox-w32-93e0898c663a533082b5f3c2e7dcce93ec47076d.tar.gz busybox-w32-93e0898c663a533082b5f3c2e7dcce93ec47076d.tar.bz2 busybox-w32-93e0898c663a533082b5f3c2e7dcce93ec47076d.zip |
shell: fix SIGWINCH and SIGCHLD (in hush) interrupting line input, closes 15256
function old new delta
record_pending_signo 32 63 +31
lineedit_read_key 231 224 -7
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 31/-7) Total: 24 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/ash.c')
-rw-r--r-- | shell/ash.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c index 18ccc1329..5f8c8ea19 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -10821,7 +10821,8 @@ preadfd(void) | |||
10821 | again: | 10821 | again: |
10822 | /* For shell, LI_INTERRUPTIBLE is set: | 10822 | /* For shell, LI_INTERRUPTIBLE is set: |
10823 | * read_line_input will abort on either | 10823 | * read_line_input will abort on either |
10824 | * getting EINTR in poll(), or if it sees bb_got_signal != 0 | 10824 | * getting EINTR in poll() and bb_got_signal became != 0, |
10825 | * or if it sees bb_got_signal != 0 | ||
10825 | * (IOW: if signal arrives before poll() is reached). | 10826 | * (IOW: if signal arrives before poll() is reached). |
10826 | * Interactive testcases: | 10827 | * Interactive testcases: |
10827 | * (while kill -INT $$; do sleep 1; done) & | 10828 | * (while kill -INT $$; do sleep 1; done) & |