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:
parent
3e5dc499a8
commit
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>
|
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
|
* 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++) {
|
for (sig = 1; sig < NSIG; sig++) {
|
||||||
int reset = 0;
|
int reset = 0;
|
||||||
#ifdef SIGPIPE
|
#ifdef SIGPIPE
|
||||||
if (sig == SIGPIPE)
|
if (sig == SIGPIPE) {
|
||||||
reset = 1;
|
reset = 1;
|
||||||
|
#ifndef POSIX_SIGNAL
|
||||||
|
handler = SIG_DFL;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
if (!reset) {
|
if (!reset) {
|
||||||
#ifdef POSIX_SIGNAL
|
#ifdef POSIX_SIGNAL
|
||||||
|
Loading…
x
Reference in New Issue
Block a user