diff options
author | michen <none@none> | 2006-10-07 07:01:32 -0700 |
---|---|---|
committer | michen <none@none> | 2006-10-07 07:01:32 -0700 |
commit | 124771bb5f403108fb9ed84bf6083c8d427d55ff (patch) | |
tree | 693b1cf3f2f204506ef096908645baa67b03187a /usr/src | |
parent | 49bbeda66afe3efc0343886143bc21063a011474 (diff) | |
download | illumos-gate-124771bb5f403108fb9ed84bf6083c8d427d55ff.tar.gz |
6478137 nscd should allocate a larger set of shared structures for getents/getXbyYs
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/cmd/nscd/nscd_cfgdef.h | 6 | ||||
-rw-r--r-- | usr/src/cmd/nscd/nscd_switch.c | 5 |
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); |