From 29c7c72e09b28e2dd35ac73805b33604c6e4ae09 Mon Sep 17 00:00:00 2001 From: matz Date: Fri, 30 Nov 2007 14:08:58 +0000 Subject: * signal.c (trap_signm): SIGVTALRM no longer used for green thread. [ruby-talk:281318] * signal.c (ruby_sig_finalize): do not install SIG_DFL handler if previous handler is sighandler(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- signal.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'signal.c') diff --git a/signal.c b/signal.c index bd2579dd0a..6eba832e5d 100644 --- a/signal.c +++ b/signal.c @@ -783,12 +783,6 @@ trap_signm(VALUE vsig) if (sig == 0 && strcmp(s, "EXIT") != 0) rb_raise(rb_eArgError, "unsupported signal SIG%s", s); } - -#if defined(HAVE_SETITIMER) - if (sig == SIGVTALRM) { - rb_raise(rb_eArgError, "SIGVTALRM reserved for Thread; can't set handler"); - } -#endif return sig; } @@ -993,6 +987,18 @@ init_sigchld(int sig) #endif } +void +ruby_sig_finalize() +{ + sighandler_t oldfunc; + + oldfunc = ruby_signal(SIGINT, SIG_IGN); + if (oldfunc == sighandler) { + ruby_signal(SIGINT, SIG_DFL); + } +} + + #ifdef RUBY_DEBUG_ENV int ruby_enable_coredump = 0; #endif -- cgit v1.2.3