summaryrefslogtreecommitdiffstats
path: root/signal.c
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-01 06:49:34 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-01 06:49:34 +0000
commit40e638521bfa9453e83138fb039bd648a962befe (patch)
treebfc07d3474b6f0e451faf0c38a7bf2a31f6b0086 /signal.c
parentccfeb305c72e436bed933a6a3ae74e8e860136e4 (diff)
downloadruby-40e638521bfa9453e83138fb039bd648a962befe.tar.gz
ruby-40e638521bfa9453e83138fb039bd648a962befe.tar.xz
ruby-40e638521bfa9453e83138fb039bd648a962befe.zip
* signal.c (register_sigaltstack): no need to define on non-sigaltstack
platform. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'signal.c')
-rw-r--r--signal.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/signal.c b/signal.c
index 1dfff89b4..cb2fcb355 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
}