steffen: server/perl-kolab/Kolab-LDAP-Backend-slurpd slurpd.pm.in, 1.1, 1.2
cvs at intevation.de
cvs at intevation.de
Mon Apr 10 00:49:45 CEST 2006
Author: steffen
Update of /kolabrepository/server/perl-kolab/Kolab-LDAP-Backend-slurpd
In directory doto:/tmp/cvs-serv5187/Kolab-LDAP-Backend-slurpd
Modified Files:
slurpd.pm.in
Log Message:
Fix for Issue1194 (kolabd quota performance) plus a timing fix for the actual LDAP replication client in kolabd
Index: slurpd.pm.in
===================================================================
RCS file: /kolabrepository/server/perl-kolab/Kolab-LDAP-Backend-slurpd/slurpd.pm.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- slurpd.pm.in 17 Dec 2005 21:45:32 -0000 1.1
+++ slurpd.pm.in 9 Apr 2006 22:49:43 -0000 1.2
@@ -274,19 +274,22 @@
my $ready;
my $offset = 0;
- if (!($select->can_read(1)) && $changes) {
- $changes = 0;
- Kolab::log('SD', 'Change detected w/ no pending LDAP messages; reloading services if needed');
- Kolab::LDAP::sync;
- Kolab::log('SD', 'Running kolabconf');
- system("@sbindir@/kolabconf") == 0
- or Kolab::log('SD', "Failed to run kolabconf: $?", KOLAB_ERROR);
- Kolab::log('SD', 'Kolabconf complete');
+ if (!($select->can_read(0)) && $changes) {
+ Kolab::log('SD', 'Change detected w/ no pending LDAP messages; waiting a second...');
+ if( !($select->can_read(1)) ) {
+ $changes = 0;
+ Kolab::log('SD', 'Change detected w/ no pending LDAP messages; reloading services if needed');
+ Kolab::LDAP::sync;
+ Kolab::log('SD', 'Running kolabconf');
+ system("@sbindir@/kolabconf") == 0
+ or Kolab::log('SD', "Failed to run kolabconf: $?", KOLAB_ERROR);
+ Kolab::log('SD', 'Kolabconf complete');
+ }
}
Kolab::log('SD', 'Waiting for LDAP updates');
- for ($ready = 1; $conn && $ready; $ready = $select->can_read(1)) {
+ for ($ready = 1; $conn && $ready; $ready = $select->can_read(0)) {
Kolab::log('SD', 'Reading ASN', KOLAB_DEBUG);
my $newoffset = asn_read($conn, $pdu, $offset);
if( !$conn->connected() or $offset == $newoffset ) {
@@ -296,7 +299,6 @@
}
$offset = $newoffset;
defined($offset) or $offset = 0;
- sleep 1;
}
if ($pdu) {
More information about the commits
mailing list