about summary refs log tree commit diff
path: root/nscd/nscd.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2004-09-30 09:05:55 +0000
committerJakub Jelinek <jakub@redhat.com>2004-09-30 09:05:55 +0000
commit6a87697239310dd529781d9db1ee705eeaa5405e (patch)
treed89bd4ede05cf7918178e39da5950535725717d8 /nscd/nscd.c
parentbd307f4e23f985b55276724a00f88e07309e68be (diff)
downloadglibc-6a87697239310dd529781d9db1ee705eeaa5405e.tar.gz
glibc-6a87697239310dd529781d9db1ee705eeaa5405e.tar.xz
glibc-6a87697239310dd529781d9db1ee705eeaa5405e.zip
Updated to fedora-glibc-20040930T0838 cvs/fedora-glibc-2_3_3-61
Diffstat (limited to 'nscd/nscd.c')
-rw-r--r--nscd/nscd.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/nscd/nscd.c b/nscd/nscd.c
index 7f8f58fde6..2a4cb2291d 100644
--- a/nscd/nscd.c
+++ b/nscd/nscd.c
@@ -438,9 +438,14 @@ termination_handler (int signum)
 
   /* Synchronize memory.  */
   for (int cnt = 0; cnt < lastdb; ++cnt)
-    if (dbs[cnt].persistent)
-      // XXX async OK?
-      msync (dbs[cnt].head, dbs[cnt].memsize, MS_ASYNC);
+    {
+      /* Make sure nobody keeps using the database.  */
+      dbs[cnt].head->timestamp = 0;
+
+      if (dbs[cnt].persistent)
+	// XXX async OK?
+	msync (dbs[cnt].head, dbs[cnt].memsize, MS_ASYNC);
+    }
 
   /* Shutdown the SELinux AVC.  */
   if (selinux_enabled)
@@ -496,6 +501,8 @@ write_pid (const char *file)
    into nscd.  There currently is no special getaddrinfo version for
    use in nscd.  In case it should be necessary such a version must be
    created and this dummy version should be removed.  */
+extern void getaddrinfo (void) __attribute ((visibility ("hidden")));
+
 void
 getaddrinfo (void)
 {