X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2Fsys-linux.c;h=aa829aad9201abcbe914cddf415fef34071a2e96;hp=cbf05589ef37a1a2b2b26b4bbbf32f4851a21e7b;hb=9061e74eee6de8be3478fd23caa2ac9ceae586ec;hpb=641e6003d6cb48bf970a590914d30ded6bc0952f;ds=sidebyside diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c index cbf0558..aa829aa 100644 --- a/pppd/sys-linux.c +++ b/pppd/sys-linux.c @@ -94,6 +94,7 @@ int set_kdebugflag (int requested_level) void establish_ppp (void) { int pppdisc = N_PPP; + int sig = SIGIO; if (ioctl(fd, TIOCEXCL, 0) < 0) { syslog (LOG_WARNING, "ioctl(TIOCEXCL): %m"); @@ -115,6 +116,14 @@ 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); + } } /*