зеркало из https://github.com/github/ruby.git
process.c (disable_child_handler_fork_child): initialize handler for SIGPIPE
This only happens on the !POSIX_SIGNAL case; but one may test with the following: --- a/process.c +++ b/process.c @@ -3479,6 +3479,7 @@ disable_child_handler_fork_parent(struct child_handler_disabler_state *old) #endif } +#undef POSIX_SIGNAL /* This function should be async-signal-safe. Actually it is. */ static int disable_child_handler_fork_child(struct child_handler_disabler_state *old, char *errmsg, size_t errmsg_buflen) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
3e5dc499a8
Коммит
ebfb401e77
|
@ -1,3 +1,8 @@
|
|||
Tue May 3 05:35:54 2016 Eric Wong <e@80x24.org>
|
||||
|
||||
* process.c (disable_child_handler_fork_child):
|
||||
initialize handler for SIGPIPE for !POSIX_SIGNAL
|
||||
|
||||
Mon May 2 23:03:42 2016 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||
|
||||
* win32/win32.c, include/ruby/win32.h (rb_w32_utruncate): implements new
|
||||
|
|
|
@ -3502,8 +3502,12 @@ disable_child_handler_fork_child(struct child_handler_disabler_state *old, char
|
|||
for (sig = 1; sig < NSIG; sig++) {
|
||||
int reset = 0;
|
||||
#ifdef SIGPIPE
|
||||
if (sig == SIGPIPE)
|
||||
if (sig == SIGPIPE) {
|
||||
reset = 1;
|
||||
#ifndef POSIX_SIGNAL
|
||||
handler = SIG_DFL;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
if (!reset) {
|
||||
#ifdef POSIX_SIGNAL
|
||||
|
|
Загрузка…
Ссылка в новой задаче