diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2009-08-13 11:17:08 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2009-08-14 08:02:17 -0400 |
commit | 01c7e801761cff3c58f3de7dd4e08c99da99d7aa (patch) | |
tree | 8a1ea24d9dd3322a98e76315768caa1d789153fb /server/responder/common/responder.h | |
parent | 2e53c10c68a86c33d97936fce02c3c53aad82bfa (diff) | |
download | sssd-01c7e801761cff3c58f3de7dd4e08c99da99d7aa.tar.gz sssd-01c7e801761cff3c58f3de7dd4e08c99da99d7aa.tar.bz2 sssd-01c7e801761cff3c58f3de7dd4e08c99da99d7aa.zip |
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.
Diffstat (limited to 'server/responder/common/responder.h')
-rw-r--r-- | server/responder/common/responder.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/server/responder/common/responder.h b/server/responder/common/responder.h index 881c3306..f5cdff13 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) |