[PATCH 2/2] rpc: Rework timerActive logic in daemon

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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)) {
+                    VIR_DEBUG("Activating shutdown timer %d", timerid);
+                    virEventUpdateTimeout(timerid,
+                                          dmn->autoShutdownTimeout * 1000);
+                    timerActive = true;
                 }
             }
         }
-- 
2.4.5

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]