[systemd-commits] 2 commits - src/core src/libsystemd-bus

Lennart Poettering lennart at kemper.freedesktop.org
Wed Dec 11 20:40:28 PST 2013


 src/core/dbus.c             |    2 +-
 src/libsystemd-bus/sd-bus.c |    2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

New commits:
commit f8e11cda5316055c381f45bd30843c1b54cd323b
Author: Lennart Poettering <lennart at poettering.net>
Date:   Thu Dec 12 05:29:56 2013 +0100

    bus: properly return an error when we detect a method call timeout

diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c
index edd917e..37408cf 100644
--- a/src/libsystemd-bus/sd-bus.c
+++ b/src/libsystemd-bus/sd-bus.c
@@ -1754,6 +1754,8 @@ _public_ int sd_bus_call(
                 r = bus_poll(bus, true, left);
                 if (r < 0)
                         return r;
+                if (r == 0)
+                        return -ETIMEDOUT;
 
                 r = dispatch_wqueue(bus);
                 if (r < 0) {

commit 6d99330e26977a9970e33fd83085c8c8c9de660f
Author: Lennart Poettering <lennart at poettering.net>
Date:   Thu Dec 12 05:23:22 2013 +0100

    core: fix bus registration on daemon reexec

diff --git a/src/core/dbus.c b/src/core/dbus.c
index 25d83a6..580bdf3 100644
--- a/src/core/dbus.c
+++ b/src/core/dbus.c
@@ -801,7 +801,7 @@ static int bus_setup_api(Manager *m, sd_bus *bus) {
          * after the new connection is set up and the name installed
          * to allow clients to synchronously wait for reexecution to
          * finish */
-        r = sd_bus_request_name(bus,"org.freedesktop.systemd1", SD_BUS_NAME_REPLACE_EXISTING|SD_BUS_NAME_DO_NOT_QUEUE);
+        r = sd_bus_request_name(bus,"org.freedesktop.systemd1", SD_BUS_NAME_REPLACE_EXISTING|SD_BUS_NAME_DO_NOT_QUEUE|SD_BUS_NAME_ALLOW_REPLACEMENT);
         if (r < 0) {
                 log_error("Failed to register name: %s", strerror(-r));
                 return r;



More information about the systemd-commits mailing list