summaryrefslogtreecommitdiffstats
path: root/src/responder/nss/nsssrv.c
diff options
context:
space:
mode:
authorJan Zeleny <jzeleny@redhat.com>2012-05-31 18:08:46 -0400
committerStephen Gallagher <sgallagh@redhat.com>2012-06-10 15:45:42 -0400
commite9f08ebaba5ec61af74c112f50c7d66257998c97 (patch)
tree947eab8080ae903f8d0261f205a7a7896196223f /src/responder/nss/nsssrv.c
parent84c611c1b7c04cc7735ab54d4e5f48284b79e6fb (diff)
downloadsssd-e9f08ebaba5ec61af74c112f50c7d66257998c97.tar.gz
sssd-e9f08ebaba5ec61af74c112f50c7d66257998c97.tar.xz
sssd-e9f08ebaba5ec61af74c112f50c7d66257998c97.zip
Allow fast memcache timeout to be configurable
https://fedorahosted.org/sssd/ticket/1318
Diffstat (limited to 'src/responder/nss/nsssrv.c')
-rw-r--r--src/responder/nss/nsssrv.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/responder/nss/nsssrv.c b/src/responder/nss/nsssrv.c
index 9cb4a5697..85bf6dc82 100644
--- a/src/responder/nss/nsssrv.c
+++ b/src/responder/nss/nsssrv.c
@@ -262,6 +262,7 @@ int nss_process_init(TALLOC_CTX *mem_ctx,
struct sss_cmd_table *nss_cmds;
struct be_conn *iter;
struct nss_ctx *nctx;
+ int memcache_timeout;
int ret, max_retries;
int hret;
int fd_limit;
@@ -323,16 +324,25 @@ int nss_process_init(TALLOC_CTX *mem_ctx,
}
/* create mmap caches */
+ ret = confdb_get_int(nctx->rctx->cdb,
+ CONFDB_NSS_CONF_ENTRY,
+ CONFDB_MEMCACHE_TIMEOUT,
+ 300, &memcache_timeout);
+ if (ret != EOK) {
+ DEBUG(0, ("Failed to set up automatic reconnection\n"));
+ return ret;
+ }
+
/* TODO: read cache sizes from configuration */
ret = sss_mmap_cache_init(nctx, "passwd", SSS_MC_PASSWD,
- 50000,
+ 50000, (time_t)memcache_timeout,
&nctx->pwd_mc_ctx);
if (ret) {
DEBUG(SSSDBG_CRIT_FAILURE, ("passwd mmap cache is DISABLED"));
}
ret = sss_mmap_cache_init(nctx, "group", SSS_MC_GROUP,
- 50000,
+ 50000, (time_t)memcache_timeout,
&nctx->grp_mc_ctx);
if (ret) {
DEBUG(SSSDBG_CRIT_FAILURE, ("group mmap cache is DISABLED"));