summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/cmd/nscd/nscd_cfgdef.h6
-rw-r--r--usr/src/cmd/nscd/nscd_switch.c5
2 files changed, 8 insertions, 3 deletions
diff --git a/usr/src/cmd/nscd/nscd_cfgdef.h b/usr/src/cmd/nscd/nscd_cfgdef.h
index 09c9584463..78a100ef9b 100644
--- a/usr/src/cmd/nscd/nscd_cfgdef.h
+++ b/usr/src/cmd/nscd/nscd_cfgdef.h
@@ -810,9 +810,9 @@ static nscd_cfg_nsw_db_data_t nscd_cfg_nsw_db_data_default = {
NULL, /* nsw_config_db */
nscd_true, /* enable_lookup */
nscd_false, /* enable_loopback_checking */
- 10, /* max_nsw_state_per_db */
- 5, /* max_nsw_state_per_thread */
- 10, /* max_getent_ctx_per_db */
+ 288, /* max_nsw_state_per_db */
+ 32, /* max_nsw_state_per_thread */
+ 256, /* max_getent_ctx_per_db */
},
diff --git a/usr/src/cmd/nscd/nscd_switch.c b/usr/src/cmd/nscd/nscd_switch.c
index 351b6ad03e..9306915cf2 100644
--- a/usr/src/cmd/nscd/nscd_switch.c
+++ b/usr/src/cmd/nscd/nscd_switch.c
@@ -1497,7 +1497,12 @@ nss_pgetent(void *buffer, size_t length)
" data = [ %s ]\n", *seqnump,
pbuf->data_len, (char *)buffer + pbuf->data_off);
} else {
+ /* release the resources used */
ctx = (nscd_getent_context_t *)contextp->ctx;
+ if (ctx != NULL) {
+ _nscd_put_getent_ctx(ctx);
+ contextp->ctx = NULL;
+ }
_NSCD_LOG(NSCD_LOG_SWITCH_ENGINE, NSCD_LOG_LEVEL_DEBUG)
(me, "getent failed, status = %d, sequence number = %lld\n",
status, *seqnump);