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-20080613T1601.tar.bz2
|
||||||
glibc-fedora-20080612T1619.tar.bz2
|
glibc-fedora-20080613T1601.tar.bz2
|
||||||
|
@ -2315,3 +2315,79 @@
|
|||||||
|
|
||||||
cfi_startproc;
|
cfi_startproc;
|
||||||
PSEUDO_END (BP_SYM (__clone))
|
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 glibcname glibc
|
||||||
%define glibcsrcdir glibc-20080612T1619
|
%define glibcsrcdir glibc-20080613T1601
|
||||||
%define glibc_release_tarballs 0
|
%define glibc_release_tarballs 0
|
||||||
%define run_glibc_tests 1
|
%define run_glibc_tests 1
|
||||||
%define auxarches i586 i686 athlon sparcv9v sparc64v alphaev6
|
%define auxarches i586 i686 athlon sparcv9v sparc64v alphaev6
|
||||||
@ -23,7 +23,7 @@
|
|||||||
Summary: The GNU libc libraries
|
Summary: The GNU libc libraries
|
||||||
Name: glibc
|
Name: glibc
|
||||||
Version: 2.8.90
|
Version: 2.8.90
|
||||||
Release: 6
|
Release: 7
|
||||||
# GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
|
# GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
|
||||||
# Things that are linked directly into dynamically linked programs
|
# Things that are linked directly into dynamically linked programs
|
||||||
# and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
|
# and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
|
||||||
@ -980,6 +980,12 @@ rm -f *.filelist*
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%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
|
* Thu Jun 12 2008 Jakub Jelinek <jakub@redhat.com> 2.8.90-6
|
||||||
- update from trunk
|
- update from trunk
|
||||||
- nscd fixes (#450704)
|
- nscd fixes (#450704)
|
||||||
|
Loading…
Reference in New Issue
Block a user