chiark / gitweb /
dbus: no sync D-Bus connection flushing
[elogind.git] / src / dbus.c
index 81b4f53434666e8840a655f2a4435a4101fedc39..f9250f13544fde91ab5bfaf309f26b70ffd45410 100644 (file)
@@ -1196,7 +1196,9 @@ static void shutdown_connection(Manager *m, DBusConnection *c) {
         }
 
         dbus_connection_set_dispatch_status_function(c, NULL, NULL, NULL);
-        dbus_connection_flush(c);
+        /* system manager cannot afford to block on DBus */
+        if (m->running_as != MANAGER_SYSTEM)
+                dbus_connection_flush(c);
         dbus_connection_close(c);
         dbus_connection_unref(c);
 }