diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-10-22 08:01:13 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-10-22 08:01:13 +0000 |
commit | a41224ce5fbb6c774b62523aa421e7ad5eb17c64 (patch) | |
tree | e890f2b736eeaf4541fb9039a25192451c732564 /signal.c | |
parent | 6564e91e15cf2fb5ecb11c19419c9b8aed953cf3 (diff) | |
download | ruby-a41224ce5fbb6c774b62523aa421e7ad5eb17c64.tar.gz ruby-a41224ce5fbb6c774b62523aa421e7ad5eb17c64.tar.xz ruby-a41224ce5fbb6c774b62523aa421e7ad5eb17c64.zip |
* signal.c (ruby_signal): don't set SA_RESTART. a backport from
the HEAD. [ruby-talk:220937] [ruby-talk:147220]
* signal.c (Init_signal): avoid duplicated installation of SIGCHLD
handler.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@11203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'signal.c')
-rw-r--r-- | signal.c | 13 |
1 files changed, 2 insertions, 11 deletions
@@ -341,14 +341,6 @@ ruby_signal(signum, handler) sigact.sa_handler = handler; sigemptyset(&sigact.sa_mask); sigact.sa_flags = 0; -# if defined(SA_RESTART) - /* All other signals but VTALRM shall restart restartable syscall - VTALRM will cause EINTR to syscall if interrupted. - */ - if (signum != SIGVTALRM) { - sigact.sa_flags |= SA_RESTART; /* SVR4, 4.3+BSD */ - } -# endif # ifdef SA_NOCLDWAIT if (signum == SIGCHLD && handler == SIG_IGN) sigact.sa_flags |= SA_NOCLDWAIT; @@ -1010,10 +1002,9 @@ Init_signal() install_sighandler(SIGPIPE, sigpipe); #endif -#ifdef SIGCLD +#if defined(SIGCLD) init_sigchld(SIGCLD); -#endif -#ifdef SIGCHLD +#elif defined(SIGCHLD) init_sigchld(SIGCHLD); #endif |