Fix l2tpd blocking on read from ppp childs (closes: #455)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3597 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
435d646747
commit
31e89f0ba1
|
@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
|
|||
PKG_NAME:=l2tpd
|
||||
PKG_VERSION:=0.70pre
|
||||
PKG_UPSTREAM_VERSION:=0.70-pre20031121
|
||||
PKG_RELEASE:=2.1
|
||||
PKG_RELEASE:=3.1
|
||||
PKG_MD5SUM:=3f2707b6e16a8cb72e7bf64f574202fa
|
||||
|
||||
PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/l/l2tpd
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
--- l2tpd-0.70-pre20031121.orig/l2tpd.c.orig 2006-04-05 13:28:36.000000000 +0100
|
||||
+++ l2tpd-0.70-pre20031121.orig/l2tpd.c 2006-04-05 13:33:39.000000000 +0100
|
||||
@@ -289,6 +289,8 @@
|
||||
#endif
|
||||
struct termios ptyconf;
|
||||
char *str;
|
||||
+ int flags;
|
||||
+
|
||||
p = opts;
|
||||
stropt[0] = strdup (PPPD);
|
||||
while (p)
|
||||
@@ -347,6 +349,14 @@
|
||||
close(c->fd);
|
||||
return -EINVAL;
|
||||
}
|
||||
+ flags = fcntl(c->fd, F_GETFL);
|
||||
+ if (flags < 0 || fcntl(c->fd, F_SETFL, flags | O_NONBLOCK) < 0)
|
||||
+ {
|
||||
+ log (LOG_WARN, "%s: unable to fcntl(O_NONBLOCK) on pty\n",
|
||||
+ __FUNCTION__);
|
||||
+ close(c->fd);
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
tty = ptsname(c->fd);
|
||||
if (tty == NULL)
|
||||
{
|
Loading…
Reference in New Issue