about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--nscd/nscd-client.h6
-rw-r--r--nscd/nscd_helper.c2
3 files changed, 6 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 57ced8e8e5..6c38cb3cfe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,8 @@
 	* nscd/nscd.h: Declare setup_thread.
 	* nscd/nscd_helper.c (__nscd_get_map_ref): Avoid the time test if
 	nscd_certainly_running is nonzero.
+	* sysdeps/generic/nscd_setup_thread.c: New file.
+	* sysdeps/unix/sysv/linux/nscd_setup_thread.c: New file.
 
 2004-09-08  Ulrich Drepper  <drepper@redhat.com>
 
diff --git a/nscd/nscd-client.h b/nscd/nscd-client.h
index 02a57787b5..7cdeba5485 100644
--- a/nscd/nscd-client.h
+++ b/nscd/nscd-client.h
@@ -179,8 +179,8 @@ struct database_pers_head
 {
   int version;
   int header_size;
-  int gc_cycle;
-  int nscd_certainly_running;
+  volatile int gc_cycle;
+  volatile int nscd_certainly_running;
   volatile time_t timestamp;
 
   size_t module;
@@ -233,7 +233,7 @@ extern int __nscd_open_socket (const char *key, size_t keylen,
 extern struct mapped_database *__nscd_get_map_ref (request_type type,
 						   const char *name,
 						   struct locked_map_ptr *mapptr,
-						   int *gc_cyclep);
+						   volatile int *gc_cyclep);
 
 /* Unmap database.  */
 extern void __nscd_unmap (struct mapped_database *mapped);
diff --git a/nscd/nscd_helper.c b/nscd/nscd_helper.c
index 01c4c81848..74983b9762 100644
--- a/nscd/nscd_helper.c
+++ b/nscd/nscd_helper.c
@@ -212,7 +212,7 @@ get_mapping (request_type type, const char *key,
 
 struct mapped_database *
 __nscd_get_map_ref (request_type type, const char *name,
-		    struct locked_map_ptr *mapptr, int *gc_cyclep)
+		    struct locked_map_ptr *mapptr, volatile int *gc_cyclep)
 {
   struct mapped_database *cur = mapptr->mapped;
   if (cur == NO_MAPPING)