1
0
forked from pool/openldap2
openldap2/slapadd-no-trickle.dif

77 lines
2.6 KiB
Plaintext
Raw Normal View History

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;