diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-09-10 09:35:03 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-09-10 09:35:03 +0000 |
commit | 67dba250e8a2b57926e2474afb07aac1fcf0040c (patch) | |
tree | 6288c9fbe7b5937e1e8f3eafdfb70bfa79c3491c /signal.c | |
parent | 991e95bb36ad03d92c065f2c3c5d8d2a5b3af037 (diff) |
signal.c: consider non-sigaltstack platforms
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'signal.c')
-rw-r--r-- | signal.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -621,12 +621,17 @@ ruby_signal(int signum, sighandler_t handler) case RUBY_SIGCHLD: if (handler == SIG_IGN) { ruby_nocldwait = 1; +# ifdef USE_SIGALTSTACK if (sigact.sa_flags & SA_SIGINFO) { sigact.sa_sigaction = (ruby_sigaction_t*)sighandler; } else { sigact.sa_handler = sighandler; } +# else + sigact.sa_handler = handler; + sigact.sa_flags = 0; +# endif } else { ruby_nocldwait = 0; |