diff --git a/ChangeLog b/ChangeLog index 8982f9883e..581d1d337e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu Feb 23 19:56:48 2012 Tanaka Akira + + * signal.c (sig_trap): show signal name on error. + Thu Feb 23 12:21:48 2012 Tanaka Akira * ext/dbm/extconf.rb: use DBM_SUFFIX only to detect header of diff --git a/signal.c b/signal.c index 5e475bf9d3..08ce482ded 100644 --- a/signal.c +++ b/signal.c @@ -937,7 +937,11 @@ sig_trap(int argc, VALUE *argv) arg.sig = trap_signm(argv[0]); if (reserved_signal_p(arg.sig)) { - rb_raise(rb_eArgError, "can't trap reserved signal"); + const char *name = signo2signm(arg.sig); + if (name) + rb_raise(rb_eArgError, "can't trap reserved signal: SIG%s", name); + else + rb_raise(rb_eArgError, "can't trap reserved signal: %d", (int)arg.sig); } if (argc == 1) {