[systemd-commits] fixme src/cgroups-agent.c src/initctl.c src/systemctl.c src/update-utmp.c
Lennart Poettering
lennart at kemper.freedesktop.org
Thu Sep 2 14:26:12 PDT 2010
fixme | 4 ----
src/cgroups-agent.c | 1 +
src/initctl.c | 5 +++--
src/systemctl.c | 2 ++
src/update-utmp.c | 5 +++--
5 files changed, 9 insertions(+), 8 deletions(-)
New commits:
commit 5d452f9ceceabf2bf69acb58e69a41fb41011e37
Author: Lennart Poettering <lennart at poettering.net>
Date: Thu Sep 2 23:26:04 2010 +0200
dbus: make sure to flush bus connection before disconnecting, so that no messages are lost
diff --git a/fixme b/fixme
index c986d74..312e062 100644
--- a/fixme
+++ b/fixme
@@ -80,12 +80,8 @@ v9:
* fix terminal setup
-* figure out ssh disconnect hang
-
* home.mount failing should not be able to cancel umount.target (IgnoreDependencyFailure=yes borked?)
-* disallow further dbus+socket activation on shutdown
-
External:
* place /etc/inittab with explaining blurb.
diff --git a/src/cgroups-agent.c b/src/cgroups-agent.c
index 6f7a857..30aeede 100644
--- a/src/cgroups-agent.c
+++ b/src/cgroups-agent.c
@@ -82,6 +82,7 @@ int main(int argc, char *argv[]) {
finish:
if (bus) {
+ dbus_connection_flush(bus);
dbus_connection_close(bus);
dbus_connection_unref(bus);
}
diff --git a/src/initctl.c b/src/initctl.c
index 6c3ec02..10db2dd 100644
--- a/src/initctl.c
+++ b/src/initctl.c
@@ -232,8 +232,9 @@ static void server_done(Server *s) {
close_nointr_nofail(s->epoll_fd);
if (s->bus) {
- dbus_connection_close(s->bus);
- dbus_connection_unref(s->bus);
+ dbus_connection_flush(s->bus);
+ dbus_connection_close(s->bus);
+ dbus_connection_unref(s->bus);
}
}
diff --git a/src/systemctl.c b/src/systemctl.c
index ea09c3c..ecf3e01 100644
--- a/src/systemctl.c
+++ b/src/systemctl.c
@@ -4624,6 +4624,7 @@ finish:
dbus_message_unref(reply);
if (bus) {
+ dbus_connection_flush(bus);
dbus_connection_close(bus);
dbus_connection_unref(bus);
}
@@ -5039,6 +5040,7 @@ int main(int argc, char*argv[]) {
finish:
if (bus) {
+ dbus_connection_flush(bus);
dbus_connection_close(bus);
dbus_connection_unref(bus);
}
diff --git a/src/update-utmp.c b/src/update-utmp.c
index e45bee1..b06f5a0 100644
--- a/src/update-utmp.c
+++ b/src/update-utmp.c
@@ -406,8 +406,9 @@ finish:
#endif
if (c.bus) {
- dbus_connection_close(c.bus);
- dbus_connection_unref(c.bus);
+ dbus_connection_flush(c.bus);
+ dbus_connection_close(c.bus);
+ dbus_connection_unref(c.bus);
}
dbus_error_free(&error);
More information about the systemd-commits
mailing list