diff --git a/ChangeLog b/ChangeLog index c8af96cad3..009284ef93 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Nov 26 18:19:47 2012 KOSAKI Motohiro + + * signal.c (signal_exec): suppress "warning: variable 'signum' + might be clobbered by 'longjmp' or 'vfork'" warning. + Mon Nov 26 18:15:47 2012 Koichi Sasada * benchmark/driver.rb: accept multiple `-e'. diff --git a/signal.c b/signal.c index 9f1717e012..ea82faf500 100644 --- a/signal.c +++ b/signal.c @@ -623,7 +623,6 @@ sigsegv(int sig SIGINFO_ARG) static void signal_exec(VALUE cmd, int safe, int sig) { - VALUE signum = INT2NUM(sig); rb_thread_t *cur_th = GET_THREAD(); int old_in_trap = cur_th->in_trap; int state; @@ -631,6 +630,7 @@ signal_exec(VALUE cmd, int safe, int sig) cur_th->in_trap = 1; TH_PUSH_TAG(cur_th); if ((state = EXEC_TAG()) == 0) { + VALUE signum = INT2NUM(sig); rb_eval_cmd(cmd, rb_ary_new3(1, signum), safe); } TH_POP_TAG();