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
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:
building socat on systems that predefined the CFLAGS environment to
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;
if (withfork) {
if (Signal(SIGCHLD, SIG_IGN) == SIG_ERR) {
Warn1("signal(SIGCHLD, SIG_IGN): %s", strerror(errno));
/* The child should have default handling for SIGCHLD. */
/* 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