summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--signal.c6
2 files changed, 9 insertions, 2 deletions
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 <usa@ruby-lang.org>
+
+ * signal.c (register_sigaltstack): no need to define on non-sigaltstack
+ platform.
+
Mon Dec 1 12:00:45 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* 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
}