about summary refs log tree commit diff
path: root/nscd/connections.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-10-05 21:12:46 +0000
committerUlrich Drepper <drepper@redhat.com>2007-10-05 21:12:46 +0000
commit3e6ce4d77e489c7ca333c6b56b1386b20927f678 (patch)
tree178e62caabc98304cd458d49e9c87d8a19277941 /nscd/connections.c
parent6789aaaa979339534384a212e21e7731eaddf985 (diff)
downloadglibc-3e6ce4d77e489c7ca333c6b56b1386b20927f678.tar.gz
glibc-3e6ce4d77e489c7ca333c6b56b1386b20927f678.tar.xz
glibc-3e6ce4d77e489c7ca333c6b56b1386b20927f678.zip
[BZ #5112]
	* nscd/connections.c (restart): Don't resync if database is
	disabled.  Patch mostly by Brian De Wolf <bldewolf@csupomona.edu>.
Diffstat (limited to 'nscd/connections.c')
-rw-r--r--nscd/connections.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/nscd/connections.c b/nscd/connections.c
index 11fbc03498..0687a2661f 100644
--- a/nscd/connections.c
+++ b/nscd/connections.c
@@ -1284,14 +1284,15 @@ cannot change to old working directory: %s; disabling paranoia mode"),
 
   /* Synchronize memory.  */
   for (int cnt = 0; cnt < lastdb; ++cnt)
-    {
-      /* Make sure nobody keeps using the database.  */
-      dbs[cnt].head->timestamp = 0;
+    if (!dbs[cnt].enabled)
+      {
+	/* 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);
-    }
+	if (dbs[cnt].persistent)
+	  // XXX async OK?
+	  msync (dbs[cnt].head, dbs[cnt].memsize, MS_ASYNC);
+      }
 
   /* The preparations are done.  */
   execv ("/proc/self/exe", argv);