diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-11-14 15:26:10 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-11-14 15:26:10 +0000 |
commit | f9e2261b7e0591909df321e2890b26d900a326d8 (patch) | |
tree | d417ea5791b72220ffb53fe2a1bae1df5afdf9d4 /nscd | |
parent | 43850227c932267142beef13fae7ced839b006ad (diff) | |
download | glibc-f9e2261b7e0591909df321e2890b26d900a326d8.zip glibc-f9e2261b7e0591909df321e2890b26d900a326d8.tar.gz glibc-f9e2261b7e0591909df321e2890b26d900a326d8.tar.bz2 |
* nscd/cache.c (prune_cache): If cache is empty, instruct caller
to wake up in 24 hours.
Diffstat (limited to 'nscd')
-rw-r--r-- | nscd/cache.c | 7 |
1 files changed, 5 insertions, 2 deletions
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; } |