mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-20 22:59:34 -05:00
ITS#9584 avoid busy-loop while refresh is serialized
This commit is contained in:
parent
e893e0e8b6
commit
79d33fe40e
2 changed files with 6 additions and 9 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 <<EOF >> $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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue