summaryrefslogtreecommitdiff
path: root/signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'signal.c')
-rw-r--r--signal.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/signal.c b/signal.c
index 0f1171b30b..4f57d455b2 100644
--- a/signal.c
+++ b/signal.c
@@ -264,14 +264,17 @@ esignal_init(argc, argv, self)
}
static VALUE
-interrupt_init(self, mesg)
- VALUE self, mesg;
+interrupt_init(argc, argv, self)
+ int argc;
+ VALUE *argv;
+ VALUE self;
{
- VALUE argv[2];
+ VALUE args[2];
- argv[0] = INT2FIX(SIGINT);
- argv[1] = mesg;
- return rb_call_super(2, argv);
+ args[0] = INT2FIX(SIGINT);
+ rb_scan_args(argc, argv, "01", &args[1]);
+
+ return rb_call_super(2, args);
}
void
@@ -1071,7 +1074,7 @@ Init_signal()
rb_define_method(rb_eSignal, "initialize", esignal_init, -1);
rb_attr(rb_eSignal, rb_intern("signo"), 1, 0, 0);
rb_alias(rb_eSignal, rb_intern("signm"), rb_intern("message"));
- rb_define_method(rb_eInterrupt, "initialize", interrupt_init, 1);
+ rb_define_method(rb_eInterrupt, "initialize", interrupt_init, -1);
install_sighandler(SIGINT, sighandler);
#ifdef SIGHUP