diff --git a/CHANGES b/CHANGES index 808016bb3958fdc80bca70e59fb08f12a85dde3d..f06bde02cf3a9100a4965983ea1da851640c83e5 100644 --- a/CHANGES +++ b/CHANGES @@ -14,16 +14,19 @@ OpenLDAP 2.4.12 Engineering Fixed slapd dynacl mask handling (ITS#5637) Fixed slapd firstComponentMatch normalization (ITS#5634) Added slapd caseIgnoreListMatch (ITS#5608) + Fixed slapd connection events enabled twice (ITS#5725) Fixed slapd memory handling (ITS#5691) Fixed slapd objectClass canonicalization (ITS#5681) Fixed slapd objectClass termination (ITS#5682) Fixed slapd overlay control registration (ITS#5649) + Fixed slapd runqueue checking (ITS#5726) Fixed slapd spurious text output (ITS#5688) Fixed slapd socket closing on Windows (ITS#5606) Fixed slapd sortvals comparison (ITS#5578) Added slapd substitute syntax support (ITS#5663) Fixed slapd syncrepl contextCSN detection (ITS#5675) Fixed slapd syncrepl error logging (ITS#5618) + Fixed slapd syncrepl runqueue interval (ITS#5719) Fixed slapd-bdb entry return if attr not present (ITS#5650) Fixed slapd-bdb olcDbMode syntax (ITS#5713) Fixed slapd-dnssrv memory handling (ITS#5691) diff --git a/servers/slapd/connection.c b/servers/slapd/connection.c index c4b858dc3b825950879f93c396047466e4d9ae72..ce36494b52fdbe10fd941f86b05d2f6d9ea7b4bc 100644 --- a/servers/slapd/connection.c +++ b/servers/slapd/connection.c @@ -1150,7 +1150,6 @@ Connection *connection_client_setup( c->c_clientarg = arg; slapd_add_internal( sfd, 0 ); - slapd_set_read( sfd, 1 ); } return c; } diff --git a/servers/slapd/syncrepl.c b/servers/slapd/syncrepl.c index a9214532946dc2489b74d4d8db3bb1381954d85d..128f30295609fd26765a37120de6ebb24a86cb8d 100644 --- a/servers/slapd/syncrepl.c +++ b/servers/slapd/syncrepl.c @@ -1204,7 +1204,7 @@ do_syncrepl( OperationBuffer opbuf; Operation *op; int rc = LDAP_SUCCESS; - int dostop = 0, do_setup = 0; + int dostop = 0; ber_socket_t s; int i, defer = 1, fail = 0; Backend *be; @@ -1319,9 +1319,8 @@ reload: if ( rc == LDAP_SUCCESS ) { if ( si->si_conn ) { connection_client_enable( si->si_conn ); - goto success; } else { - do_setup = 1; + si->si_conn = connection_client_setup( s, do_syncrepl, arg ); } } else if ( si->si_conn ) { dostop = 1; @@ -1353,6 +1352,7 @@ reload: if ( rc == SYNC_PAUSED ) { rtask->interval.tv_sec = 0; ldap_pvt_runqueue_resched( &slapd_rq, rtask, 0 ); + rtask->interval.tv_sec = si->si_interval; rc = 0; } else if ( rc == LDAP_SUCCESS ) { if ( si->si_type == LDAP_SYNC_REFRESH_ONLY ) { @@ -1387,11 +1387,6 @@ reload: } ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex ); - - if ( do_setup ) - si->si_conn = connection_client_setup( s, do_syncrepl, arg ); - -success: ldap_pvt_thread_mutex_unlock( &si->si_mutex ); if ( rc ) {