chiark / gitweb /
dbus: explicitly flush message queue before disconnecting
[elogind.git] / dbus.c
diff --git a/dbus.c b/dbus.c
index 79b1a7ebc39b529c127be37a76cdf5e893e2695c..6b7896b605527f7fc865bffc34d51348f5a54965 100644 (file)
--- a/dbus.c
+++ b/dbus.c
@@ -637,6 +637,7 @@ void bus_done_api(Manager *m) {
                         m->system_bus = NULL;
 
                 dbus_connection_set_dispatch_status_function(m->api_bus, NULL, NULL, NULL);
+                dbus_connection_flush(m->api_bus);
                 dbus_connection_close(m->api_bus);
                 dbus_connection_unref(m->api_bus);
                 m->api_bus = NULL;
@@ -664,6 +665,7 @@ void bus_done_system(Manager *m) {
 
         if (m->system_bus) {
                 dbus_connection_set_dispatch_status_function(m->system_bus, NULL, NULL, NULL);
+                dbus_connection_flush(m->system_bus);
                 dbus_connection_close(m->system_bus);
                 dbus_connection_unref(m->system_bus);
                 m->system_bus = NULL;