changeset 2880:fd078b935454

6478137 nscd should allocate a larger set of shared structures for getents/getXbyYs
author michen
date Sat, 07 Oct 2006 07:01:32 -0700
parents 4b7701498cac
children ea6360e7e1c5
files usr/src/cmd/nscd/nscd_cfgdef.h usr/src/cmd/nscd/nscd_switch.c
diffstat 2 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/cmd/nscd/nscd_cfgdef.h	Fri Oct 06 23:22:32 2006 -0700
+++ b/usr/src/cmd/nscd/nscd_cfgdef.h	Sat Oct 07 07:01:32 2006 -0700
@@ -810,9 +810,9 @@
 	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 */
 
 	},
 
--- a/usr/src/cmd/nscd/nscd_switch.c	Fri Oct 06 23:22:32 2006 -0700
+++ b/usr/src/cmd/nscd/nscd_switch.c	Sat Oct 07 07:01:32 2006 -0700
@@ -1497,7 +1497,12 @@
 		" 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);