summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--signal.c9
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 571556942b..2641a7437f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jan 25 12:11:45 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * signal.c (USE_SIGALTSTACK): only when SA_SIGINFO also is
+ available. see [ruby-core:27768].
+
Mon Jan 25 12:02:34 2010 NARUSE, Yui <naruse@ruby-lang.org>
* dln.c, file.c, io.c, signal.c: add __HAIKU__.
diff --git a/signal.c b/signal.c
index 3381c00d95..cbccf22419 100644
--- a/signal.c
+++ b/signal.c
@@ -419,8 +419,12 @@ static struct {
#define sighandler_t sh_t
#endif
+#if defined(SIGSEGV) && defined(HAVE_SIGALTSTACK) && defined(SA_SIGINFO)
+#define USE_SIGALTSTACK
+#endif
+
typedef RETSIGTYPE (*sighandler_t)(int);
-#if defined SA_SIGINFO && !defined __SYMBIAN32__
+#ifdef USE_SIGALTSTACK
typedef void ruby_sigaction_t(int, siginfo_t*, void*);
#define SIGINFO_ARG , siginfo_t *info, void *ctx
#else
@@ -429,9 +433,6 @@ typedef RETSIGTYPE ruby_sigaction_t(int);
#endif
#ifdef POSIX_SIGNAL
-#if defined(SIGSEGV) && defined(HAVE_SIGALTSTACK)
-#define USE_SIGALTSTACK
-#endif
#ifdef USE_SIGALTSTACK
#ifdef SIGSTKSZ