diff --git a/ChangeLog b/ChangeLog index 0f665dbc3a..2c9594642f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Dec 1 15:48:47 2008 NAKAMURA Usaku + + * signal.c (register_sigaltstack): no need to define on non-sigaltstack + platform. + Mon Dec 1 12:00:45 2008 Nobuyoshi Nakada * cont.c (rb_fiber_start): calls with exact argument number. diff --git a/signal.c b/signal.c index 1dfff89b46..cb2fcb3557 100644 --- a/signal.c +++ b/signal.c @@ -446,8 +446,6 @@ register_sigaltstack(void) if (sigaltstack(&newSS, &oldSS) < 0) rb_bug("register_sigaltstack. error\n"); } -#else -#define register_sigaltstack() ((void)0) #endif static sighandler_t @@ -716,7 +714,9 @@ default_handler(int sig) #ifdef SIGSEGV case SIGSEGV: func = (sighandler_t)sigsegv; +# ifdef USE_SIGALTSTACK register_sigaltstack(); +# endif break; #endif #ifdef SIGPIPE @@ -1124,7 +1124,9 @@ Init_signal(void) install_sighandler(SIGBUS, sigbus); #endif #ifdef SIGSEGV +# ifdef USE_SIGALTSTACK register_sigaltstack(); +# endif install_sighandler(SIGSEGV, (sighandler_t)sigsegv); #endif }