From 99b45920fd400febd21054980f4dfe5ba143e948 Mon Sep 17 00:00:00 2001 From: Frans Meulenbroeks Date: Sun, 11 Jul 2010 13:47:01 +0200 Subject: glibc 2;5: cleaned up; patches only in local dir mved all patches to glibc-2.5 removed references to other dirs. Signed-off-by: Frans Meulenbroeks --- .../glibc-2.5-local-dynamic-resolvconf.patch | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 recipes/glibc/glibc-2.5/glibc-2.5-local-dynamic-resolvconf.patch (limited to 'recipes/glibc/glibc-2.5/glibc-2.5-local-dynamic-resolvconf.patch') diff --git a/recipes/glibc/glibc-2.5/glibc-2.5-local-dynamic-resolvconf.patch b/recipes/glibc/glibc-2.5/glibc-2.5-local-dynamic-resolvconf.patch new file mode 100644 index 0000000000..e137287dd1 --- /dev/null +++ b/recipes/glibc/glibc-2.5/glibc-2.5-local-dynamic-resolvconf.patch @@ -0,0 +1,41 @@ +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: allow dynamic long-running processes to +# DP: re-read a dynamically updated resolv.conf on the fly +# DP: Dpatch author: Adam Conrad +# DP: Patch author: Thorsten Kukuk +# DP: Upstream status: Ubuntu-Specific +# DP: Date: 2006-01-13 08:14:21 UTC + +Index: resolv/res_libc.c +=================================================================== +--- resolv/res_libc.c.orig ++++ resolv/res_libc.c +@@ -22,7 +22,7 @@ + #include + #include + #include +- ++#include + + /* The following bit is copied from res_data.c (where it is #ifdef'ed + out) since res_init() should go into libc.so but the rest of that +@@ -94,8 +94,17 @@ + int + __res_maybe_init (res_state resp, int preinit) + { +- if (resp->options & RES_INIT) { +- if (__res_initstamp != resp->_u._ext.initstamp) { ++ static time_t last_mtime; ++ struct stat statbuf; ++ int ret; ++ ++ ++ if (resp->options & RES_INIT) { ++ ret = stat (_PATH_RESCONF, &statbuf); ++ if (__res_initstamp != resp->_u._ext.initstamp ++ || (ret == 0) && (last_mtime != statbuf.st_mtime)) ++ { ++ last_mtime = statbuf.st_mtime; + if (resp->nscount > 0) { + __res_iclose (resp, true); + return __res_vinit (resp, 1); -- cgit v1.2.3