From 01c7e801761cff3c58f3de7dd4e08c99da99d7aa Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Thu, 13 Aug 2009 11:17:08 -0400 Subject: Don't go to the backend for identical cache entry requests Currently, if an additional request comes in for a cache entry while that same entry is already in the process of being refreshed, we start a duplicate cache update request. This patch adds allows the cache to maintain a hash table of all in-progress requests and queue up multiple callbacks for updates in progress. Once the data is returned, all of these callbacks will fire. --- server/responder/common/responder.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'server/responder/common/responder.h') diff --git a/server/responder/common/responder.h b/server/responder/common/responder.h index 881c33067..f5cdff13a 100644 --- a/server/responder/common/responder.h +++ b/server/responder/common/responder.h @@ -29,10 +29,13 @@ #include "talloc.h" #include "tevent.h" #include "ldb.h" +#include "dhash.h" #include "sbus/sssd_dbus.h" #include "../sss_client/sss_cli.h" #include "util/btreemap.h" +extern hash_table_t *dp_requests; + /* if there is a provider other than the special local */ #define NEED_CHECK_PROVIDER(provider) \ (provider != NULL && strcmp(provider, "local") != 0) -- cgit