diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | signal.c | 8 |
2 files changed, 7 insertions, 5 deletions
@@ -1,3 +1,7 @@ +Tue Sep 23 20:24:41 2008 Koichi Sasada <ko1@atdot.net> + + * signal.c (signal_exec): fix to use rb_proc_call(). + Tue Sep 23 20:06:46 2008 Yukihiro Matsumoto <matz@ruby-lang.org> * lib/rexml/formatters/pretty.rb (REXML::Formatters::Pretty#wrap): @@ -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 |