]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/sys-osf.c
[dis]connector -> [dis]connect_script
[ppp.git] / pppd / sys-osf.c
index 9ee243473694cd6affc9df8e69dfde6bcbf6af80..920b30af1315cadac88fb7003c554e024b7f5184 100644 (file)
@@ -25,9 +25,7 @@
  * OR MODIFICATIONS.
  */
 
-#ifndef lint
-static char rcsid[] = "$Id: sys-osf.c,v 1.26 1999/04/27 22:33:09 varadhan Exp $";
-#endif
+#define RCSID  "$Id: sys-osf.c,v 1.30 1999/08/13 06:46:18 paulus Exp $"
 
 #include <stdio.h>
 #include <stddef.h>
@@ -61,6 +59,8 @@ static char rcsid[] = "$Id: sys-osf.c,v 1.26 1999/04/27 22:33:09 varadhan Exp $"
 
 #include "pppd.h"
 
+static const char rcsid[] = RCSID;
+
 static int     pppfd;
 static int     fdmuxid = -1;
 static int     iffd;
@@ -375,6 +375,13 @@ establish_ppp(fd)
             if (i != fd && i != sockfd)
                 close(i);
         closed_stdio = 1;
+       /* make sure 0, 1, 2 are open to /dev/null */
+       while ((i = open("/dev/null", O_RDWR)) >= 0) {
+           if (i > 2) {
+               close(i);
+               break;
+           }
+       }
     }
 
     /*
@@ -837,7 +844,7 @@ read_packet(buf)
        flags = 0;
        len = getmsg(pppfd, &ctrl, &data, &flags);
        if (len < 0) {
-           if (errno = EAGAIN || errno == EWOULDBLOCK || errno == EINTR)
+           if (errno == EAGAIN || errno == EWOULDBLOCK || errno == EINTR)
                return -1;
            fatal("Error reading packet: %m");
        }