summaryrefslogtreecommitdiffstats
path: root/src/machine
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2024-05-23 09:46:04 +0200
committerLuca Boccassi <bluca@debian.org>2024-06-12 00:17:38 +0200
commitec8bbd8adb9463471803aadd9a8ba2a326d7a49d (patch)
tree6afe19876525da59f131e668b2f17a66db589479 /src/machine
parenthostnamed: don't allow hostnamed to exit on idle if varlink connections are s... (diff)
downloadsystemd-ec8bbd8adb9463471803aadd9a8ba2a326d7a49d.tar.xz
systemd-ec8bbd8adb9463471803aadd9a8ba2a326d7a49d.zip
tree-wide: never consider service idle if polkit authentication is still pending
Let's be correct on this.
Diffstat (limited to 'src/machine')
-rw-r--r--src/machine/machined.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/machine/machined.c b/src/machine/machined.c
index d7087e4672..398375bc5e 100644
--- a/src/machine/machined.c
+++ b/src/machine/machined.c
@@ -311,7 +311,7 @@ static int manager_startup(Manager *m) {
}
static bool check_idle(void *userdata) {
- Manager *m = userdata;
+ Manager *m = ASSERT_PTR(userdata);
if (m->operations)
return false;
@@ -322,6 +322,9 @@ static bool check_idle(void *userdata) {
if (varlink_server_current_connections(m->varlink_machine_server) > 0)
return false;
+ if (!hashmap_isempty(m->polkit_registry))
+ return false;
+
manager_gc(m, true);
return hashmap_isempty(m->machines);