mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-24 22:55:23 +00:00
rpc: Rework timerActive logic in daemon
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 fa14207368
.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1240283
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
parent
699faeacb1
commit
b7ea58c262
@ -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)) {
|
||||
VIR_DEBUG("Activating shutdown timer %d", timerid);
|
||||
virEventUpdateTimeout(timerid,
|
||||
dmn->autoShutdownTimeout * 1000);
|
||||
timerActive = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user