chiark / gitweb /
logind: don't misunderstand UnitRemoved signals during reloading
[elogind.git] / src / login / logind.c
index fcb3ccf4a5e5de3faca3134077e13b56e5a6a498..a79ba333d262c87bcf3b886977b52b62df8ed76b 100644 (file)
@@ -1038,12 +1038,23 @@ static int manager_connect_bus(Manager *m) {
                            "interface='org.freedesktop.DBus.Properties',"
                            "member='PropertiesChanged'",
                            &error);
-
         if (dbus_error_is_set(&error)) {
                 log_error("Failed to add match for PropertiesChanged: %s", bus_error_message(&error));
                 dbus_error_free(&error);
         }
 
+        dbus_bus_add_match(m->bus,
+                           "type='signal',"
+                           "sender='org.freedesktop.systemd1',"
+                           "interface='org.freedesktop.systemd1.Manager',"
+                           "member='Reloading',"
+                           "path='/org/freedesktop/systemd1'",
+                           &error);
+        if (dbus_error_is_set(&error)) {
+                log_error("Failed to add match for Reloading: %s", bus_error_message(&error));
+                dbus_error_free(&error);
+        }
+
         r = bus_method_call_with_reply(
                         m->bus,
                         "org.freedesktop.systemd1",