forked from rpms/glibc
		
	2.8.90-7
This commit is contained in:
		
							parent
							
								
									1c91d4268d
								
							
						
					
					
						commit
						975cdd1f9d
					
				| @ -1,2 +1,2 @@ | ||||
| glibc-20080612T1619.tar.bz2 | ||||
| glibc-fedora-20080612T1619.tar.bz2 | ||||
| glibc-20080613T1601.tar.bz2 | ||||
| glibc-fedora-20080613T1601.tar.bz2 | ||||
|  | ||||
| @ -2315,3 +2315,79 @@ | ||||
|   | ||||
|  	cfi_startproc; | ||||
|  PSEUDO_END (BP_SYM (__clone)) | ||||
| --- libc/nscd/connections.c	12 Jun 2008 22:39:35 -0000	1.113
 | ||||
| +++ libc/nscd/connections.c	13 Jun 2008 16:30:09 -0000	1.114
 | ||||
| @@ -51,6 +51,7 @@
 | ||||
|  #include "nscd.h" | ||||
|  #include "dbg_log.h" | ||||
|  #include "selinux.h" | ||||
| +#include <resolv/resolv.h>
 | ||||
|  #ifdef HAVE_SENDFILE | ||||
|  # include <kernel-features.h> | ||||
|  #endif | ||||
| @@ -228,6 +229,9 @@ static int sock;
 | ||||
|  #ifdef HAVE_INOTIFY | ||||
|  /* Inotify descriptor.  */ | ||||
|  static int inotify_fd = -1; | ||||
| +
 | ||||
| +/* Watch descriptor for resolver configuration file.  */
 | ||||
| +static int resolv_conf_descr = -1;
 | ||||
|  #endif | ||||
|   | ||||
|  /* Number of times clients had to wait.  */ | ||||
| @@ -824,7 +828,7 @@ cannot set socket to close on exec: %s; 
 | ||||
|  	if (dbs[cnt].check_file) | ||||
|  	  { | ||||
|  #ifdef HAVE_INOTIFY | ||||
| -	    if (inotify_fd == -1
 | ||||
| +	    if (inotify_fd < 0
 | ||||
|  		|| (dbs[cnt].inotify_descr | ||||
|  		    = inotify_add_watch (inotify_fd, dbs[cnt].filename, | ||||
|  					 IN_DELETE_SELF | IN_MODIFY)) < 0) | ||||
| @@ -845,6 +849,14 @@ cannot set socket to close on exec: %s; 
 | ||||
|  		  dbs[cnt].file_mtime = st.st_mtime; | ||||
|  	      } | ||||
|  	  } | ||||
| +
 | ||||
| +#ifdef HAVE_INOTIFY
 | ||||
| +	if (cnt == hstdb && inotify_fd >= -1)
 | ||||
| +	  /* We also monitor the resolver configuration file.  */
 | ||||
| +	  resolv_conf_descr = inotify_add_watch (inotify_fd,
 | ||||
| +						 _PATH_RESCONF,
 | ||||
| +						 IN_DELETE_SELF | IN_MODIFY);
 | ||||
| +#endif
 | ||||
|        } | ||||
|   | ||||
|    /* Create the socket.  */ | ||||
| @@ -1798,6 +1810,7 @@ main_loop_poll (void)
 | ||||
|  	    { | ||||
|  	      if (conns[1].revents != 0) | ||||
|  		{ | ||||
| +		  bool done[lastdb] = { false, };
 | ||||
|  		  union | ||||
|  		  { | ||||
|  		    struct inotify_event i; | ||||
| @@ -1810,12 +1823,21 @@ main_loop_poll (void)
 | ||||
|  		    { | ||||
|  		      /* Check which of the files changed.  */ | ||||
|  		      for (size_t dbcnt = 0; dbcnt < lastdb; ++dbcnt) | ||||
| -			if (inev.i.wd == dbs[dbcnt].inotify_descr)
 | ||||
| +			if (!done[dbcnt]
 | ||||
| +			    && (inev.i.wd == dbs[dbcnt].inotify_descr
 | ||||
| +				|| (dbcnt == hstdb
 | ||||
| +				    && inev.i.wd == resolv_conf_descr)))
 | ||||
|  			  { | ||||
| -			    pthread_mutex_trylock (&dbs[dbcnt].prune_lock);
 | ||||
| +			    if (dbcnt == hstdb
 | ||||
| +				&& inev.i.wd == resolv_conf_descr)
 | ||||
| +			      res_init ();
 | ||||
| +
 | ||||
| +			    pthread_mutex_lock (&dbs[dbcnt].prune_lock);
 | ||||
|  			    dbs[dbcnt].clear_cache = 1; | ||||
|  			    pthread_mutex_unlock (&dbs[dbcnt].prune_lock); | ||||
|  			    pthread_cond_signal (&dbs[dbcnt].prune_cond); | ||||
| +
 | ||||
| +			    done[dbcnt] = true;
 | ||||
|  			    break; | ||||
|  			  } | ||||
|  		    } | ||||
|  | ||||
							
								
								
									
										12
									
								
								glibc.spec
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								glibc.spec
									
									
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| %define glibcdate 20080612T1619 | ||||
| %define glibcdate 20080613T1601 | ||||
| %define glibcname glibc | ||||
| %define glibcsrcdir glibc-20080612T1619 | ||||
| %define glibcsrcdir glibc-20080613T1601 | ||||
| %define glibc_release_tarballs 0 | ||||
| %define run_glibc_tests 1 | ||||
| %define auxarches i586 i686 athlon sparcv9v sparc64v alphaev6 | ||||
| @ -23,7 +23,7 @@ | ||||
| Summary: The GNU libc libraries | ||||
| Name: glibc | ||||
| Version: 2.8.90 | ||||
| Release: 6 | ||||
| Release: 7 | ||||
| # GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries. | ||||
| # Things that are linked directly into dynamically linked programs | ||||
| # and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional | ||||
| @ -980,6 +980,12 @@ rm -f *.filelist* | ||||
| %endif | ||||
| 
 | ||||
| %changelog | ||||
| * Fri Jun 13 2008 Jakub Jelinek <jakub@redhat.com> 2.8.90-7 | ||||
| - update from trunk | ||||
|   - avoid *lround* on ppc* clobbering cr3/cr4 registers (#450790) | ||||
|   - further nscd fixes (#450704) | ||||
|   - use inotify in nscd to watch files | ||||
| 
 | ||||
| * Thu Jun 12 2008 Jakub Jelinek <jakub@redhat.com> 2.8.90-6 | ||||
| - update from trunk | ||||
|   - nscd fixes (#450704) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user