summaryrefslogtreecommitdiff
path: root/signal.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-01-25 03:11:46 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-01-25 03:11:46 +0000
commit423657b42c4baca7282e0de96c968e3d31ae235e (patch)
tree2eac545df91fb456fa586af5a8d61da67067d35b /signal.c
parentd5b0c4b1f3367b76f1b7af934f99cf1e1cb35b82 (diff)
* signal.c (USE_SIGALTSTACK): only when SA_SIGINFO also is
available. see [ruby-core:27768]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'signal.c')
-rw-r--r--signal.c9
1 files changed, 5 insertions, 4 deletions
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