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.
Because requests can carry multiple callbacks, we cannot rely on
the life of the current caller to manage the memory for the
request. We'll manage the memory ourselves internally and remove
the mem_ctx argument from nss_dp_send_acct_req() so there's no
ambiguity.
This patch also introduces the necessary framework to implement the
out-of-band cache updates (which will follow in a subsequent patch)
--
Stephen Gallagher
RHCE 804006346421761
Looking to carve out IT costs?
www.redhat.com/carveoutcosts/