fixes from Al Longyear
[ppp.git] / pppd / sys-linux.c
index aa829aad9201abcbe914cddf415fef34071a2e96..daaf612eccb69c4bfde9a029706ed5da0762b2ed 100644 (file)
@@ -40,7 +40,7 @@
 #include <linux/route.h>
 #include <linux/if_ether.h>
 #include <netinet/in.h>
-#include <net/if_ppp.h>
+#include <signal.h>
 
 #include "pppd.h"
 #include "ppp.h"
@@ -94,7 +94,12 @@ int set_kdebugflag (int requested_level)
 void establish_ppp (void)
 {
     int pppdisc = N_PPP;
-    int sig = SIGIO;
+    int sig    = SIGIO;
+
+    if (ioctl(fd, PPPIOCSINPSIG, &sig) == -1) {
+       syslog(LOG_ERR, "ioctl(PPPIOCSINPSIG): %m");
+       die(1);
+    }
 
     if (ioctl(fd, TIOCEXCL, 0) < 0) {
        syslog (LOG_WARNING, "ioctl(TIOCEXCL): %m");
@@ -116,14 +121,6 @@ void establish_ppp (void)
     }
 
     set_kdebugflag (kdebugflag);
-
-    /*
-     * Set the device to give us a SIGIO when data is available.
-     */
-    if (ioctl(fd, PPPIOCSINPSIG, &sig) == -1) {
-       syslog(LOG_ERR, "ioctl(PPPIOCSINPSIG): %m");
-       die(1);
-    }
 }
 
 /*