X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2Fmain.c;h=7b57a2a570e6c771f2909f4c024ec3c5c93e9ba1;hp=a01b852cc26c1dad05dabd37dcdecb5694694aa3;hb=516eb9abe39cf49031bb1192232e6a49e96852fb;hpb=cb67581446e926290c6147634f7f467f48c806b5 diff --git a/pppd/main.c b/pppd/main.c index a01b852..7b57a2a 100644 --- a/pppd/main.c +++ b/pppd/main.c @@ -40,7 +40,7 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#define RCSID "$Id: main.c,v 1.123 2003/03/03 05:11:46 paulus Exp $" +#define RCSID "$Id: main.c,v 1.124 2003/03/04 05:37:22 fcusack Exp $" #include #include @@ -1428,7 +1428,9 @@ safe_fork() if (pid > 0) { close(pipefd[1]); /* this read() blocks until the close(pipefd[1]) below */ - read(pipefd[0], buf, 1); + while (read(pipefd[0], buf, 1) < 0) + if (errno != EINTR) + break; close(pipefd[0]); return pid; }