On 10.07.2015 10:49, Martin Kletzander wrote: > Daemon used false logic for determining whether there were any clients. > When the timer was inactive, it was activated if at least one of the > servers did not have clients. So the bool was being flipped there and > back all the time in case there was one client, for example. > > Initially introduced by fa1420736882. > > Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1240283 > > Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> > --- > src/rpc/virnetdaemon.c | 24 +++++++++--------------- > 1 file changed, 9 insertions(+), 15 deletions(-) > > diff --git a/src/rpc/virnetdaemon.c b/src/rpc/virnetdaemon.c > index 6b132823274c..19573c5f4c42 100644 > --- a/src/rpc/virnetdaemon.c > +++ b/src/rpc/virnetdaemon.c > @@ -682,23 +682,17 @@ virNetDaemonRun(virNetDaemonPtr dmn) > */ > if (dmn->autoShutdownTimeout) { > if (timerActive) { > - for (i = 0; i < dmn->nservers; i++) { > - if (virNetServerHasClients(dmn->servers[i])) { > - VIR_DEBUG("Deactivating shutdown timer %d", timerid); > - virEventUpdateTimeout(timerid, -1); > - timerActive = false; > - break; > - } > + if (virNetDaemonHasClients(dmn)) { > + VIR_DEBUG("Deactivating shutdown timer %d", timerid); > + virEventUpdateTimeout(timerid, -1); > + timerActive = false; > } > } else { > - for (i = 0; i < dmn->nservers; i++) { > - if (!virNetServerHasClients(dmn->servers[i])) { > - VIR_DEBUG("Activating shutdown timer %d", timerid); > - virEventUpdateTimeout(timerid, > - dmn->autoShutdownTimeout * 1000); > - timerActive = true; > - break; > - } > + if (virNetDaemonHasClients(dmn)) { I believe this condition needs to be negated. > + VIR_DEBUG("Activating shutdown timer %d", timerid); > + virEventUpdateTimeout(timerid, > + dmn->autoShutdownTimeout * 1000); > + timerActive = true; > } > } > } > Good catch! ACK series. Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list