From bd166fbcb8c4dda5e98698dfa2486377541a3670 Mon Sep 17 00:00:00 2001
From: Pierangelo Masarati <ando@openldap.org>
Date: Sat, 11 Dec 2004 15:44:30 +0000
Subject: [PATCH] rework fix for NULL be_pcl_mutexp

---
 servers/slapd/ctxcsn.c   | 6 ++++++
 servers/slapd/frontend.c | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/servers/slapd/ctxcsn.c b/servers/slapd/ctxcsn.c
index 35e474b269..3e99830e3c 100644
--- a/servers/slapd/ctxcsn.c
+++ b/servers/slapd/ctxcsn.c
@@ -87,7 +87,13 @@ slap_graduate_commit_csn( Operation *op )
 	if ( op == NULL ) return;
 	if ( op->o_bd == NULL ) return;
 
+#if 0
+	/* it is NULL when we get here from the frontendDB;
+	 * alternate fix: initialize frontendDB like all other backends */
 	assert( op->o_bd->be_pcl_mutexp != NULL );
+#endif
+	
+	if ( op->o_bd->be_pcl_mutexp == NULL ) return;
 
 	ldap_pvt_thread_mutex_lock( op->o_bd->be_pcl_mutexp );
 
diff --git a/servers/slapd/frontend.c b/servers/slapd/frontend.c
index 00c8e962e8..1495edd176 100644
--- a/servers/slapd/frontend.c
+++ b/servers/slapd/frontend.c
@@ -65,11 +65,13 @@ frontend_init( void )
 	frontendDB->be_def_limit.lms_s_pr_hide = 0;			/* don't hide number of entries left */
 	frontendDB->be_def_limit.lms_s_pr_total = 0;			/* number of total entries returned by pagedResults equal to hard limit */
 
+#if 0
 	/* FIXME: do we need this? */
 	frontendDB->be_pcl_mutexp = &frontendDB->be_pcl_mutex;
 	ldap_pvt_thread_mutex_init( frontendDB->be_pcl_mutexp );
 
 	LDAP_STAILQ_INIT( &frontendDB->be_syncinfo );
+#endif
 
 	/* suffix */
 	frontendDB->be_suffix = ch_calloc( 2, sizeof( struct berval ) );
@@ -99,7 +101,11 @@ frontend_init( void )
 	frontendDB->bd_info->bi_op_search = fe_op_search;
 	frontendDB->bd_info->bi_extended = fe_extended;
 
+#if 0
 	/* FIXME: is this too early? */
 	return backend_startup_one( frontendDB );
+#endif
+
+	return 0;
 }
 
-- 
GitLab