We're in a much better place now and there is only a single task active
for a given syncinfo_t plus the task that's just scheduled it and is
wrapping up. Any remaining times this wouldn't be true are probably bugs
to be fixed.
Debug( LDAP_DEBUG_TRACE, "=>do_syncrepl %s\n", si->si_ridtxt );
- /* Don't get stuck here while a pause is initiated */
- while ( ldap_pvt_thread_mutex_trylock( &si->si_mutex )) {
- if ( slapd_shutdown )
- return NULL;
- if ( !ldap_pvt_thread_pool_pausecheck( &connection_pool ))
- ldap_pvt_thread_yield();
- }
+ ldap_pvt_thread_mutex_lock( &si->si_mutex );
si->si_too_old = 0;