diff options
Diffstat (limited to 'sig.c')
-rw-r--r-- | sig.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -51,6 +51,7 @@ #endif extern int last_command_exit_value; +extern int last_command_exit_signal; extern int return_catch_flag; extern int loop_level, continuing, breaking; extern int parse_and_execute_level, shell_initialized; @@ -343,6 +344,8 @@ throw_to_top_level () if (interrupt_state) return; + last_command_exit_signal = (last_command_exit_value > 128) ? + (last_command_exit_value - 128) : 0; last_command_exit_value |= 128; /* Run any traps set on SIGINT. */ |