From f9e2261b7e0591909df321e2890b26d900a326d8 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 14 Nov 2007 15:26:10 +0000 Subject: [PATCH] * nscd/cache.c (prune_cache): If cache is empty, instruct caller to wake up in 24 hours. --- ChangeLog | 3 +++ nscd/cache.c | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3161ab0..cb282f6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2007-11-14 Ulrich Drepper + * nscd/cache.c (prune_cache): If cache is empty, instruct caller + to wake up in 24 hours. + * nscd/gai.c (__ioctl): Define. Include check_native.c. 2007-11-13 Ulrich Drepper diff --git a/nscd/cache.c b/nscd/cache.c index ea79c38..4d812e2 100644 --- a/nscd/cache.c +++ b/nscd/cache.c @@ -288,7 +288,8 @@ prune_cache (struct database_dyn *table, time_t now, int fd) dbg_log (_("pruning %s cache; time %ld"), dbnames[table - dbs], (long int) now); - time_t next_timeout = LONG_MAX; +#define NO_TIMEOUT LONG_MAX + time_t next_timeout = NO_TIMEOUT; do { ref_t run = table->head->array[--cnt]; @@ -474,5 +475,7 @@ prune_cache (struct database_dyn *table, time_t now, int fd) if (any) gc (table); - return next_timeout - now; + /* If there is no entry in the database and we therefore have no new + timeout value, tell the caller to wake up in 24 hours. */ + return next_timeout == NO_TIMEOUT ? 24 * 60 * 60 : next_timeout - now; } -- 2.7.4