summaryrefslogtreecommitdiff
path: root/dbus.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-04-21 03:20:04 +0200
committerLennart Poettering <lennart@poettering.net>2010-04-21 03:20:04 +0200
commit8e2f43b376b797784d2c3534143e28d50c0994c0 (patch)
tree60b5908cffb89fd7a085a414c549cb231da06507 /dbus.c
parent7ccfb64aa5dce4f71debf9b5c1f29b185f0c6f5e (diff)
dbus: explicitly flush message queue before disconnecting
Diffstat (limited to 'dbus.c')
-rw-r--r--dbus.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/dbus.c b/dbus.c
index 79b1a7ebc3..6b7896b605 100644
--- 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;