try this, i think it covers the chroot case better.
Index: res_init.c
===================================================================
RCS file: /cvs/src/lib/libc/net/res_init.c,v
retrieving revision 1.33
diff -u -r1.33 res_init.c
--- res_init.c 2005/08/06 20:30:04 1.33
+++ res_init.c 2005/12/08 05:42:29
@@ -178,27 +178,24 @@
int dots;
#endif
- if (usercall == 0) {
- if (_resp->options & RES_INIT &&
- _resp->reschktime >= time(NULL))
+ if (!usercall && _resp->options & RES_INIT &&
+ _resp->reschktime >= time(NULL))
+ return (0);
+ _resp->reschktime = time(NULL) + __res_chktime;
+ if (stat(_PATH_RESCONF, &sb) != -1) {
+ if (!usercall && timespeccmp(&sb.st_mtimespec,
+ &_resp->restimespec, ==))
return (0);
- _resp->reschktime = time(NULL) + __res_chktime;
- if (stat(_PATH_RESCONF, &sb) != -1) {
- if (timespeccmp(&sb.st_mtimespec,
- &_resp->restimespec, ==))
- return (0);
- else
- _resp->restimespec = sb.st_mtimespec;
- } else {
- /*
- * Lost the file, in chroot?
- * Don' trash settings
- */
- if (timespecisset(&_resp->restimespec))
- return (0);
- }
- } else
- _resp->reschktime = time(NULL) + __res_chktime;
+ else
+ _resp->restimespec = sb.st_mtimespec;
+ } else {
+ /*
+ * Lost the file, in chroot?
+ * Don't trash settings
+ */
+ if (!usercall && timespecisset(&_resp->restimespec))
+ return (0);
+ }
/*
--
die energie aus fleisch und blut deine sprache und die ganze wut
deine gefuehle die du lebst und dein herz fuehl wie es bebt
zeitbombe! sie tickt in dir zeitbombe! sie explodiert in deinem kopf
- girls under glass