From 5228ba2fe881133ccc0f9b3ad8a1ebbe9112a6f2 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 12 Jun 2008 22:40:27 +0000 Subject: * nscd/nscd.h (struct database_dyn): Add inotify_descr and clear_cache fields. * nscd/connections.c (inotify_fd): New variable. (nscd_init): Try to open an inotify descriptor. If successful, watch files for databases using inotify instead of having prune threads stat the files. (nscd_run_prune): Recognize clear_cache flag being set and call prune_cache appropriately. (main_loop_poll): Add inotify descriptor to wait set and handle the reported changes. (main_loop_epoll): Likewise. * nscd/cache.c (prune_cache): Don't stat files for databases if inotify is used. * sysdeps/unix/sysv/linux/Makefile [subdir=nscd] (CFLAGS-connections.c): Add -DHAVE_INOTIFY. --- nscd/cache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nscd/cache.c') diff --git a/nscd/cache.c b/nscd/cache.c index 2faaf3403e..cd6e6b4440 100644 --- a/nscd/cache.c +++ b/nscd/cache.c @@ -274,7 +274,7 @@ prune_cache (struct database_dyn *table, time_t now, int fd) /* If we check for the modification of the underlying file we invalidate the entries also in this case. */ - if (table->check_file && now != LONG_MAX) + if (table->inotify_descr < 0 && table->check_file && now != LONG_MAX) { struct stat64 st; -- cgit 1.4.1