patches/glibc/ports-2.10.1/180-resolv-dynamic.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Aug 23 14:32:16 2010 +0200 (2010-08-23)
changeset 2100 f9fcfc002c8a
permissions -rw-r--r--
debug/gdb: install dependable libs in a generic target static libs dir

For now, ncurses is the only dependable target library built for gdb.
But expat is coming, and there's no reason to install each library in
its own place.

So, install ncurses in a generic directory, where other dependable
libraries can be installed as well.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 ripped from SuSE
     2 
     3 if /etc/resolv.conf is updated, then make sure applications
     4 already running get the updated information.
     5 
     6 http://bugs.gentoo.org/177416
     7 
     8 diff -durN glibc-2.10.1.orig/resolv/res_libc.c glibc-2.10.1/resolv/res_libc.c
     9 --- glibc-2.10.1.orig/resolv/res_libc.c	2009-02-07 05:27:42.000000000 +0100
    10 +++ glibc-2.10.1/resolv/res_libc.c	2009-11-13 00:49:59.000000000 +0100
    11 @@ -22,6 +22,7 @@
    12  #include <arpa/nameser.h>
    13  #include <resolv.h>
    14  #include <bits/libc-lock.h>
    15 +#include <sys/stat.h>
    16  
    17  
    18  /* The following bit is copied from res_data.c (where it is #ifdef'ed
    19 @@ -95,6 +96,20 @@
    20  __res_maybe_init (res_state resp, int preinit)
    21  {
    22  	if (resp->options & RES_INIT) {
    23 +		static time_t last_mtime, last_check;
    24 +		time_t now;
    25 +		struct stat statbuf;
    26 +		
    27 +		time (&now);
    28 +		if (now != last_check) {
    29 +			last_check = now;
    30 +			if (stat (_PATH_RESCONF, &statbuf) == 0 && last_mtime != statbuf.st_mtime) {
    31 +				last_mtime = statbuf.st_mtime;
    32 +				atomicinclock (lock);
    33 +				atomicinc (__res_initstamp);
    34 +				atomicincunlock (lock);
    35 +			}
    36 +		}
    37  		if (__res_initstamp != resp->_u._ext.initstamp) {
    38  			if (resp->nscount > 0)
    39  				__res_iclose (resp, true);