|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
From b7ea58c262194037042284a14fb1608c9cf31884 Mon Sep 17 00:00:00 2001
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
From: Martin Kletzander <mkletzan@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
Date: Fri, 10 Jul 2015 10:35:31 +0200
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
Subject: [PATCH] rpc: Rework timerActive logic in daemon
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
Daemon used false logic for determining whether there were any clients.
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
When the timer was inactive, it was activated if at least one of the
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
servers did not have clients. So the bool was being flipped there and
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
back all the time in case there was one client, for example.
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
Initially introduced by fa1420736882.
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1240283
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
---
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
src/rpc/virnetdaemon.c | 24 +++++++++---------------
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
1 file changed, 9 insertions(+), 15 deletions(-)
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
diff --git a/src/rpc/virnetdaemon.c b/src/rpc/virnetdaemon.c
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
index 6b13282..910f266 100644
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
--- a/src/rpc/virnetdaemon.c
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
+++ b/src/rpc/virnetdaemon.c
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
@@ -682,23 +682,17 @@ virNetDaemonRun(virNetDaemonPtr dmn)
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
if (dmn->autoShutdownTimeout) {
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
if (timerActive) {
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
- for (i = 0; i < dmn->nservers; i++) {
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
- if (virNetServerHasClients(dmn->servers[i])) {
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
- VIR_DEBUG("Deactivating shutdown timer %d", timerid);
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
- virEventUpdateTimeout(timerid, -1);
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
- timerActive = false;
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
- break;
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
- }
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
+ if (virNetDaemonHasClients(dmn)) {
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
+ VIR_DEBUG("Deactivating shutdown timer %d", timerid);
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
+ virEventUpdateTimeout(timerid, -1);
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
+ timerActive = false;
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
} else {
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
- for (i = 0; i < dmn->nservers; i++) {
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
- if (!virNetServerHasClients(dmn->servers[i])) {
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
- VIR_DEBUG("Activating shutdown timer %d", timerid);
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
- virEventUpdateTimeout(timerid,
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
- dmn->autoShutdownTimeout * 1000);
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
- timerActive = true;
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
- break;
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
- }
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
+ if (!virNetDaemonHasClients(dmn)) {
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
+ VIR_DEBUG("Activating shutdown timer %d", timerid);
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
+ virEventUpdateTimeout(timerid,
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
+ dmn->autoShutdownTimeout * 1000);
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
+ timerActive = true;
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
--
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
2.4.3
|
|
![](https://seccdn.libravatar.org/avatar/6bc2ebbc861c9a4776b76939247a95d742d150e3feb2878a3b1ffd4d950329db?s=16&d=retro) |
ce7b23 |
|