merged: Debian bug 531078: socat execs children with SIGCHLD ignored - fixed

This commit is contained in:
Gerhard Rieger 2010-01-09 16:02:44 +01:00
commit f633abfe52
3 changed files with 8 additions and 3 deletions

View file

@ -12,6 +12,9 @@ corrections:
endian systems due to wrong byte order (thanks to Peter M. Galbavy for endian systems due to wrong byte order (thanks to Peter M. Galbavy for
bug report and patch) bug report and patch)
Debian bug 531078: socat execs children with SIGCHLD ignored; corrected
to default. Thanks to Martin Dorey for reporting this bug.
porting: porting:
building socat on systems that predefined the CFLAGS environment to building socat on systems that predefined the CFLAGS environment to
contain -Wall failed (esp.RedHat). Thanks to Paul Wouters for reporting contain -Wall failed (esp.RedHat). Thanks to Paul Wouters for reporting

View file

@ -1 +1 @@
"1.7.1.1+64bit+userlate+reneg+sockshtons" "1.7.1.1+64bit+userlate+reneg+sockshtons+subsigchld"

View file

@ -414,8 +414,10 @@ int _xioopen_foxec(int xioflags, /* XIO_RDONLY etc. */
gid_t group; gid_t group;
if (withfork) { if (withfork) {
if (Signal(SIGCHLD, SIG_IGN) == SIG_ERR) { /* The child should have default handling for SIGCHLD. */
Warn1("signal(SIGCHLD, SIG_IGN): %s", strerror(errno)); /* In particular, it's not defined whether ignoring SIGCHLD is inheritable. */
if (Signal(SIGCHLD, SIG_DFL) == SIG_ERR) {
Warn1("signal(SIGCHLD, SIG_DFL): %s", strerror(errno));
} }
#if HAVE_PTY #if HAVE_PTY