ITS#9930 Just wait until si_mutex is ready

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.
This commit is contained in:
Ondřej Kuzník 2023-01-18 12:28:05 +00:00 committed by Quanah Gibson-Mount
parent e6e42642ca
commit 5ccbe63246

View file

@ -2065,13 +2065,7 @@ do_syncrepl(
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_pausewait( &connection_pool ))
ldap_pvt_thread_yield();
}
ldap_pvt_thread_mutex_lock( &si->si_mutex );
si->si_too_old = 0;