summaryrefslogtreecommitdiff
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)