mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-26 01:29:59 -05:00
More for ITS#6853, check for trickle thread not yet started
This commit is contained in:
parent
e6267d3317
commit
31175da39e
1 changed files with 7 additions and 0 deletions
|
|
@ -162,6 +162,12 @@ int bdb_tool_entry_close(
|
|||
slapd_shutdown = 1;
|
||||
#ifdef USE_TRICKLE
|
||||
ldap_pvt_thread_mutex_lock( &bdb_tool_trickle_mutex );
|
||||
|
||||
/* trickle thread may not have started yet */
|
||||
while ( !bdb_tool_trickle_active )
|
||||
ldap_pvt_thread_cond_wait( &bdb_tool_trickle_cond_end,
|
||||
&bdb_tool_trickle_mutex );
|
||||
|
||||
ldap_pvt_thread_cond_signal( &bdb_tool_trickle_cond );
|
||||
while ( bdb_tool_trickle_active )
|
||||
ldap_pvt_thread_cond_wait( &bdb_tool_trickle_cond_end,
|
||||
|
|
@ -1256,6 +1262,7 @@ bdb_tool_trickle_task( void *ctx, void *ptr )
|
|||
|
||||
ldap_pvt_thread_mutex_lock( &bdb_tool_trickle_mutex );
|
||||
bdb_tool_trickle_active = 1;
|
||||
ldap_pvt_thread_cond_signal( &bdb_tool_trickle_cond_end );
|
||||
while ( 1 ) {
|
||||
ldap_pvt_thread_cond_wait( &bdb_tool_trickle_cond,
|
||||
&bdb_tool_trickle_mutex );
|
||||
|
|
|
|||
Loading…
Reference in a new issue