summaryrefslogtreecommitdiffstats
path: root/testing/chromium/chromium-uclibc-resolv.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/chromium/chromium-uclibc-resolv.patch')
-rw-r--r--testing/chromium/chromium-uclibc-resolv.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/testing/chromium/chromium-uclibc-resolv.patch b/testing/chromium/chromium-uclibc-resolv.patch
new file mode 100644
index 000000000..736b520a1
--- /dev/null
+++ b/testing/chromium/chromium-uclibc-resolv.patch
@@ -0,0 +1,35 @@
+--- chromium-13.0.754.0.orig/net/base/dnsrr_resolver.cc
++++ chromium-13.0.754.0/net/base/dnsrr_resolver.cc
+@@ -185,16 +185,20 @@
+ }
+
+ bool r = true;
++#if defined(OS_POSIX) && !defined(__UCLIBC__)
+ if ((_res.options & RES_INIT) == 0) {
+ if (res_ninit(&_res) != 0)
+ r = false;
+ }
++#else
++ r = true;
++#endif
+
+ if (r) {
+ unsigned long saved_options = _res.options;
+ r = Do();
+
+-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD)
++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && !defined(__UCLIBC__)
+ if (!r && DnsReloadTimerHasExpired()) {
+ // When there's no network connection, _res may not be initialized by
+ // getaddrinfo. Therefore, we call res_nclose only when there are ns
+--- chromium-13.0.754.0.orig/net/base/host_resolver_proc.cc
++++ chromium-13.0.754.0/net/base/host_resolver_proc.cc
+@@ -198,7 +198,7 @@
+
+ int err = getaddrinfo(host.c_str(), NULL, &hints, &ai);
+ bool should_retry = false;
+-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD)
++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && !defined(__UCLIBC__)
+ // If we fail, re-initialise the resolver just in case there have been any
+ // changes to /etc/resolv.conf and retry. See http://crbug.com/11380 for info.
+ if (err && DnsReloadTimerHasExpired()) {