BACKPORT: tlsdate-dbus-announce: use name and flush connection
Have tlsdate-dbus-announce grab a well-known bus name before it sends its
signal, and have it wait for the signal to actually be sent over the bus before
exiting.
Signed-off-by: Elly Fong-Jones <ellyjones@chromium.org>
(cherry picked from commit f258f78782e362bf26c6cf606f11293d68632780)
Change-Id: Ica80f47d7f2317c9c31e0d34ccbc23873f087c50
Reviewed-on: https://gerrit.chromium.org/gerrit/44534
Reviewed-by: Kees Cook <keescook@chromium.org>
Commit-Queue: Elly Jones <ellyjones@chromium.org>
Tested-by: Elly Jones <ellyjones@chromium.org>
diff --git a/src/tlsdate-dbus-announce.c b/src/tlsdate-dbus-announce.c
index 86ef1d5..fc474fe 100644
--- a/src/tlsdate-dbus-announce.c
+++ b/src/tlsdate-dbus-announce.c
@@ -22,11 +22,14 @@
conn = dbus_bus_get(DBUS_BUS_SYSTEM, &error);
if (!conn)
return 1;
+ if (dbus_bus_request_name(conn, "org.torproject.tlsdate", 0, &error) < 0)
+ return 1;
msg = dbus_message_new_signal("/org/torproject/tlsdate", "org.torproject.tlsdate", "TimeUpdated");
if (!msg)
return 1;
if (!dbus_connection_send(conn, msg, &ignored))
return 1;
+ dbus_connection_flush(conn);
dbus_message_unref(msg);
return 0;
}