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 | 0931ed26641624540ec5b53d4ec86fa88016bb29 (patch) | |
tree | e890f2b736eeaf4541fb9039a25192451c732564 | |
parent | dd5fe7b203d874dc4961ded9008c782d1b4c026d (diff) |
* 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: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | signal.c | 13 |
2 files changed, 10 insertions, 11 deletions
@@ -1,3 +1,11 @@ +Sun Oct 22 14:48:31 2006 Yukihiro Matsumoto <matz@ruby-lang.org> + + * 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. + Sun Oct 22 16:47:56 2006 Nobuyoshi Nakada <nobu@ruby-lang.org> * string.c (rb_str_substr): should be infected with only original @@ -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 |