diff options
Diffstat (limited to 'shell/hush.c')
-rw-r--r-- | shell/hush.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/shell/hush.c b/shell/hush.c index cfefb7324..93ed0bc0b 100644 --- a/shell/hush.c +++ b/shell/hush.c | |||
@@ -2415,14 +2415,14 @@ static int get_user_input(struct in_str *i) | |||
2415 | /*timeout*/ -1 | 2415 | /*timeout*/ -1 |
2416 | ); | 2416 | ); |
2417 | /* read_line_input intercepts ^C, "convert" it to SIGINT */ | 2417 | /* read_line_input intercepts ^C, "convert" it to SIGINT */ |
2418 | if (r == 0) { | 2418 | if (r == 0) |
2419 | write(STDOUT_FILENO, "^C", 2); | ||
2420 | raise(SIGINT); | 2419 | raise(SIGINT); |
2421 | } | ||
2422 | check_and_run_traps(); | 2420 | check_and_run_traps(); |
2423 | if (r != 0 && !G.flag_SIGINT) | 2421 | if (r != 0 && !G.flag_SIGINT) |
2424 | break; | 2422 | break; |
2425 | /* ^C or SIGINT: repeat */ | 2423 | /* ^C or SIGINT: repeat */ |
2424 | /* bash prints ^C even on real SIGINT (non-kbd generated) */ | ||
2425 | write(STDOUT_FILENO, "^C", 2); | ||
2426 | G.last_exitcode = 128 + SIGINT; | 2426 | G.last_exitcode = 128 + SIGINT; |
2427 | } | 2427 | } |
2428 | if (r < 0) { | 2428 | if (r < 0) { |