aboutsummaryrefslogtreecommitdiffstats
path: root/sig.c
diff options
context:
space:
mode:
authorJari Aalto <jari.aalto@cante.net>2004-07-27 13:29:18 +0000
committerJari Aalto <jari.aalto@cante.net>2009-09-12 16:46:56 +0000
commitb80f6443b6b7b620c7272664c66ecb0b120a0998 (patch)
tree9f71c98d8fe8fa0f41d95e1eb4227f32a09d43ca /sig.c
parent7117c2d221b2aed4ede8600f6a36b7c1454b4f55 (diff)
downloadandroid_external_bash-b80f6443b6b7b620c7272664c66ecb0b120a0998.tar.gz
android_external_bash-b80f6443b6b7b620c7272664c66ecb0b120a0998.tar.bz2
android_external_bash-b80f6443b6b7b620c7272664c66ecb0b120a0998.zip
Imported from ../bash-3.0.tar.gz.
Diffstat (limited to 'sig.c')
-rw-r--r--sig.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sig.c b/sig.c
index 21a57ae..0771f14 100644
--- a/sig.c
+++ b/sig.c
@@ -32,6 +32,8 @@
#include <stdio.h>
#include <signal.h>
+#include "bashintl.h"
+
#include "shell.h"
#if defined (JOB_CONTROL)
#include "jobs.h"
@@ -51,6 +53,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 +346,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. */
@@ -477,7 +482,7 @@ sigprocmask (operation, newset, oldset)
break;
default:
- internal_error ("Bad code in sig.c: sigprocmask");
+ internal_error (_("sigprocmask: %d: invalid operation"), operation);
}
if (oldset)