X-Git-Url: https://git.distorted.org.uk/~mdw/sw-tools/blobdiff_plain/13f1b54f05f508495193f3417efa57b0c18e8ad7..6312480608563d7d10da23e51cba9f433f7b7a01:/src/sw_rsh.c diff --git a/src/sw_rsh.c b/src/sw_rsh.c index 4f2be0d..0406798 100644 --- a/src/sw_rsh.c +++ b/src/sw_rsh.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: sw_rsh.c,v 1.3 1999/06/18 18:58:54 mdw Exp $ + * $Id: sw_rsh.c,v 1.4 1999/06/24 15:51:17 mdw Exp $ * * Run remote commands * @@ -29,6 +29,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: sw_rsh.c,v $ + * Revision 1.4 1999/06/24 15:51:17 mdw + * Fix signal handlers so they don't corrupt `errno'. + * * Revision 1.3 1999/06/18 18:58:54 mdw * Signal handling fixes. * @@ -632,6 +635,7 @@ done: static void sigchld(int sig) { + int e = errno; #ifdef DEBUG_SIGCHLD int status; while (waitpid(-1, &status, WNOHANG) > 0) { @@ -648,6 +652,7 @@ static void sigchld(int sig) while (waitpid(-1, 0, WNOHANG) > 0) ; #endif + errno = e; } /* --- @swrsh@ --- *