File slapadd-no-trickle.dif of Package openldap2-client

Index: openldap-2.4.12/servers/slapd/back-bdb/tools.c
===================================================================
--- openldap-2.4.12.orig/servers/slapd/back-bdb/tools.c
+++ openldap-2.4.12/servers/slapd/back-bdb/tools.c
@@ -75,11 +75,7 @@ static ldap_pvt_thread_mutex_t bdb_tool_
 static ldap_pvt_thread_cond_t bdb_tool_index_cond_main;
 static ldap_pvt_thread_cond_t bdb_tool_index_cond_work;
 
-static ldap_pvt_thread_mutex_t bdb_tool_trickle_mutex;
-static ldap_pvt_thread_cond_t bdb_tool_trickle_cond;
-
 static void * bdb_tool_index_task( void *ctx, void *ptr );
-static void * bdb_tool_trickle_task( void *ctx, void *ptr );
 
 int bdb_tool_entry_open(
 	BackendDB *be, int mode )
@@ -106,10 +102,6 @@ int bdb_tool_entry_open(
 	/* Set up for threaded slapindex */
 	if (( slapMode & (SLAP_TOOL_QUICK|SLAP_TOOL_READONLY)) == SLAP_TOOL_QUICK ) {
 		if ( !bdb_tool_info ) {
-			ldap_pvt_thread_mutex_init( &bdb_tool_trickle_mutex );
-			ldap_pvt_thread_cond_init( &bdb_tool_trickle_cond );
-			ldap_pvt_thread_pool_submit( &connection_pool, bdb_tool_trickle_task, bdb->bi_dbenv );
-
 			ldap_pvt_thread_mutex_init( &bdb_tool_index_mutex );
 			ldap_pvt_thread_cond_init( &bdb_tool_index_cond_main );
 			ldap_pvt_thread_cond_init( &bdb_tool_index_cond_work );
@@ -137,9 +129,6 @@ int bdb_tool_entry_close(
 {
 	if ( bdb_tool_info ) {
 		slapd_shutdown = 1;
-		ldap_pvt_thread_mutex_lock( &bdb_tool_trickle_mutex );
-		ldap_pvt_thread_cond_signal( &bdb_tool_trickle_cond );
-		ldap_pvt_thread_mutex_unlock( &bdb_tool_trickle_mutex );
 		ldap_pvt_thread_mutex_lock( &bdb_tool_index_mutex );
 		bdb_tool_index_tcount = slap_tool_thread_max - 1;
 		ldap_pvt_thread_cond_broadcast( &bdb_tool_index_cond_work );
@@ -522,12 +511,6 @@ ID bdb_tool_entry_put(
 		goto done;
 	}
 
-	if (( slapMode & SLAP_TOOL_QUICK ) && (( e->e_id & 0xfff ) == 0xfff )) {
-		ldap_pvt_thread_mutex_lock( &bdb_tool_trickle_mutex );
-		ldap_pvt_thread_cond_signal( &bdb_tool_trickle_cond );
-		ldap_pvt_thread_mutex_unlock( &bdb_tool_trickle_mutex );
-	}
-
 	if ( !bdb->bi_linear_index )
 		rc = bdb_tool_index_add( &op, tid, e );
 	if( rc != 0 ) {
@@ -1100,25 +1083,6 @@ int bdb_tool_idl_add(
 #endif
 
 static void *
-bdb_tool_trickle_task( void *ctx, void *ptr )
-{
-	DB_ENV *env = ptr;
-	int wrote;
-
-	ldap_pvt_thread_mutex_lock( &bdb_tool_trickle_mutex );
-	while ( 1 ) {
-		ldap_pvt_thread_cond_wait( &bdb_tool_trickle_cond,
-			&bdb_tool_trickle_mutex );
-		if ( slapd_shutdown )
-			break;
-		env->memp_trickle( env, 30, &wrote );
-	}
-	ldap_pvt_thread_mutex_unlock( &bdb_tool_trickle_mutex );
-
-	return NULL;
-}
-
-static void *
 bdb_tool_index_task( void *ctx, void *ptr )
 {
 	int base = *(int *)ptr;
openSUSE Build Service is sponsored by