summaryrefslogtreecommitdiff
path: root/package/network/services/dnsmasq/patches/003-fix-unresponsiveness-on-interface-disappearance.patch
diff options
context:
space:
mode:
authorSteven Barth <cyrus@openwrt.org>2014-09-26 08:57:36 +0000
committerSteven Barth <cyrus@openwrt.org>2014-09-26 08:57:36 +0000
commitdd948b7990b2a240f46ca562b27e1d0deb7f852a (patch)
tree0ff54317e42b727277d7b0d6b3a27e30f4e073c5 /package/network/services/dnsmasq/patches/003-fix-unresponsiveness-on-interface-disappearance.patch
parente5ef34ba02ecc5e6953ab448d16c89b61682bce7 (diff)
downloadmtk-20170518-dd948b7990b2a240f46ca562b27e1d0deb7f852a.zip
mtk-20170518-dd948b7990b2a240f46ca562b27e1d0deb7f852a.tar.gz
mtk-20170518-dd948b7990b2a240f46ca562b27e1d0deb7f852a.tar.bz2
dnsmasq: bump to 2.72
Signed-off-by: Steven Barth <steven@midlink.org> SVN-Revision: 42668
Diffstat (limited to 'package/network/services/dnsmasq/patches/003-fix-unresponsiveness-on-interface-disappearance.patch')
-rw-r--r--package/network/services/dnsmasq/patches/003-fix-unresponsiveness-on-interface-disappearance.patch47
1 files changed, 0 insertions, 47 deletions
diff --git a/package/network/services/dnsmasq/patches/003-fix-unresponsiveness-on-interface-disappearance.patch b/package/network/services/dnsmasq/patches/003-fix-unresponsiveness-on-interface-disappearance.patch
deleted file mode 100644
index 5ee2090..0000000
--- a/package/network/services/dnsmasq/patches/003-fix-unresponsiveness-on-interface-disappearance.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 5782649ad95382dd558df97b33b64e854d8789fb Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Thu, 18 Sep 2014 22:08:58 +0100
-Subject: [PATCH] Fix bug which caused dnsmasq to become unresponsive when an
- interface goes.
-
----
-
-diff --git a/src/util.c b/src/util.c
-index df751c7..a729f33 100644
---- a/src/util.c
-+++ b/src/util.c
-@@ -570,18 +570,28 @@ void bump_maxfd(int fd, int *max)
-
- int retry_send(void)
- {
-- struct timespec waiter;
-+ /* Linux kernels can return EAGAIN in perpetuity when calling
-+ sendmsg() and the relevant interface has gone. Here we loop
-+ retrying in EAGAIN for 1 second max, to avoid this hanging
-+ dnsmasq. */
-+
-+ static int retries = 0;
-+ struct timespec waiter;
-+
- if (errno == EAGAIN || errno == EWOULDBLOCK)
- {
- waiter.tv_sec = 0;
- waiter.tv_nsec = 10000;
- nanosleep(&waiter, NULL);
-- return 1;
-+ if (retries++ < 1000)
-+ return 1;
- }
-+
-+ retries = 0;
-
- if (errno == EINTR)
- return 1;
--
-+
- return 0;
- }
-
---
-1.9.1
-