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:
@ -1908,6 +1908,8 @@ enum {
|
||||
* >=0: poll() for TIMEOUT milliseconds, return -1/EAGAIN on timeout
|
||||
*/
|
||||
int64_t read_key(int fd, char *buffer, int timeout) FAST_FUNC;
|
||||
/* This version loops on EINTR: */
|
||||
int64_t safe_read_key(int fd, char *buffer, int timeout) FAST_FUNC;
|
||||
void read_key_ungets(char *buffer, const char *str, unsigned len) FAST_FUNC;
|
||||
|
||||
|
||||
@ -1961,7 +1963,8 @@ enum {
|
||||
USERNAME_COMPLETION = 4 * ENABLE_FEATURE_USERNAME_COMPLETION,
|
||||
VI_MODE = 8 * ENABLE_FEATURE_EDITING_VI,
|
||||
WITH_PATH_LOOKUP = 0x10,
|
||||
FOR_SHELL = DO_HISTORY | TAB_COMPLETION | USERNAME_COMPLETION,
|
||||
LI_INTERRUPTIBLE = 0x20,
|
||||
FOR_SHELL = DO_HISTORY | TAB_COMPLETION | USERNAME_COMPLETION | LI_INTERRUPTIBLE,
|
||||
};
|
||||
line_input_t *new_line_input_t(int flags) FAST_FUNC;
|
||||
#if ENABLE_FEATURE_EDITING_SAVEHISTORY
|
||||
|
Reference in New Issue
Block a user