summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--signal.c8
2 files changed, 7 insertions, 5 deletions
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 <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):
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