aboutsummaryrefslogtreecommitdiffstats
path: root/eval_error.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval_error.c')
-rw-r--r--eval_error.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/eval_error.c b/eval_error.c
index 847072ab98..74f09a8d8b 100644
--- a/eval_error.c
+++ b/eval_error.c
@@ -474,6 +474,10 @@ error_handle(rb_execution_context_t *ec, int ex)
rb_ivar_get(errinfo, id_signo) != INT2FIX(SIGSEGV)) {
/* no message when exiting by signal */
}
+ else if (rb_obj_is_kind_of(errinfo, rb_eSystemCallError) &&
+ FIXNUM_P(rb_attr_get(errinfo, id_signo))) {
+ /* no message when exiting by error to be mapped to signal */
+ }
else {
rb_ec_error_print(ec, errinfo);
}