diff --git a/ChangeLog b/ChangeLog index a6b132162b..47f379f742 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Sep 23 20:24:41 2008 Koichi Sasada + + * signal.c (signal_exec): fix to use rb_proc_call(). + Tue Sep 23 20:06:46 2008 Yukihiro Matsumoto * lib/rexml/formatters/pretty.rb (REXML::Formatters::Pretty#wrap): diff --git a/signal.c b/signal.c index 728fd2d65d..34a8175a9d 100644 --- a/signal.c +++ b/signal.c @@ -565,15 +565,13 @@ sigpipe(int sig) static void signal_exec(VALUE cmd, int safe, int sig) { - rb_proc_t *proc; - VALUE signum = INT2FIX(sig); + VALUE signumary = rb_ary_new3(1, INT2FIX(sig)); if (TYPE(cmd) == T_STRING) { - rb_eval_cmd(cmd, rb_ary_new3(1, signum), safe); + rb_eval_cmd(cmd, signumary, safe); return; } - GetProcPtr(cmd, proc); - vm_invoke_proc(GET_THREAD(), proc, proc->block.self, 1, &signum, 0); + rb_proc_call(cmd, signumary); } void