diff --git a/servers/slapd/syncrepl.c b/servers/slapd/syncrepl.c index 97ceb38264..2a6efe5e9a 100644 --- a/servers/slapd/syncrepl.c +++ b/servers/slapd/syncrepl.c @@ -923,6 +923,7 @@ check_syncprov( #define SYNC_ERROR -101 #define SYNC_REPOLL -102 #define SYNC_PAUSED -103 +#define SYNC_BUSY -104 static int do_syncrep1( @@ -937,12 +938,8 @@ do_syncrep1( void *ssl; #endif - while ( ldap_pvt_thread_mutex_trylock( &si->si_cookieState->cs_refresh_mutex )) { - if ( slapd_shutdown ) - return SYNC_SHUTDOWN; - if ( !ldap_pvt_thread_pool_pausecheck( &connection_pool )) - ldap_pvt_thread_yield(); - } + if ( ldap_pvt_thread_mutex_trylock( &si->si_cookieState->cs_refresh_mutex )) + return SYNC_BUSY; si->si_lastconnect = slap_get_time(); si->si_refreshDone = 0; diff --git a/tests/scripts/test050-syncrepl-multiprovider b/tests/scripts/test050-syncrepl-multiprovider index e8c6982bcf..fffa9f20b1 100755 --- a/tests/scripts/test050-syncrepl-multiprovider +++ b/tests/scripts/test050-syncrepl-multiprovider @@ -165,7 +165,7 @@ PORT=`expr $BASEPORT + $n` URI="ldap://${LOCALHOST}:$PORT/" echo "olcSyncRepl: rid=00$n provider=$URI binddn=\"cn=config\" bindmethod=simple" >> $TMP echo " credentials=$CONFIGPW searchbase=\"cn=config\" type=refreshAndPersist" >> $TMP -echo " retry=\"3 10 300 5\" timeout=3" >> $TMP +echo " retry=\"1 12 300 5\" timeout=3" >> $TMP n=`expr $n + 1` done echo "-" >> $TMP @@ -227,7 +227,7 @@ P2=`expr $BASEPORT + $j` U2="ldap://${LOCALHOST}:$P2/" echo "olcSyncRepl: rid=00$j provider=$U2 binddn=\"cn=config\" bindmethod=simple" >> $TMP echo " credentials=$CONFIGPW searchbase=\"cn=config\" type=refreshAndPersist" >> $TMP -echo " retry=\"3 10 300 5\" timeout=3" >> $TMP +echo " retry=\"1 12 300 5\" timeout=3" >> $TMP j=`expr $j + 1` done cat <> $TMP @@ -291,7 +291,7 @@ URI="ldap://${LOCALHOST}:$PORT/" echo "olcSyncRepl: rid=01$n provider=$URI binddn=\"$MANAGERDN\" bindmethod=simple" >> $TMP echo " credentials=$PASSWD searchbase=\"$BASEDN\" $SYNCTYPE" >> $TMP -echo " retry=\"3 10 300 5\" timeout=3" >> $TMP +echo " retry=\"1 12 300 5\" timeout=3" >> $TMP n=`expr $n + 1` done