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 f316f26a71..3015208a1d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Dec 1 16:06:15 2008 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * signal.c (register_sigaltstack): no need to define on non-sigaltstack
+ platform.
+
Sat Nov 29 23:56:44 2008 Yuki Sonoda (Yugui) <yugui@yugui.jp>
* man/irb.1 (EXAMPLES): new section
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
}