ash,hush: fix handling of SIGINT while waiting for interactive input
function old new delta lineedit_read_key 160 237 +77 __pgetc 522 589 +67 fgetc_interactive 244 309 +65 safe_read_key - 39 +39 read_key 588 607 +19 record_pending_signo 23 32 +9 signal_handler 75 81 +6 .rodata 104312 104309 -3 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 6/1 up/down: 282/-3) Total: 279 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
a277506a64
commit
12566e7f9b
9 changed files with 122 additions and 41 deletions
|
@ -913,7 +913,7 @@ static unsigned handle_input(unsigned scan_mask, duration_t interval)
|
|||
while (1) {
|
||||
int32_t c;
|
||||
|
||||
c = read_key(STDIN_FILENO, G.kbd_input, interval * 1000);
|
||||
c = safe_read_key(STDIN_FILENO, G.kbd_input, interval * 1000);
|
||||
if (c == -1 && errno != EAGAIN) {
|
||||
/* error/EOF */
|
||||
option_mask32 |= OPT_EOF;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue