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;