From: Lennart Poettering Date: Wed, 10 Jul 2013 18:44:21 +0000 (+0200) Subject: systemctl: suppress error message when doing "systemctl daemon-reexec" X-Git-Tag: v206~161 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=d0ede8f1c555500dceebd3cc8a8e877ed1d89de6 systemctl: suppress error message when doing "systemctl daemon-reexec" When we issue a reexecution request via the private socket we need to expect a "Disconnected" in addition to "NoReply" when the connection is terminated. --- diff --git a/src/shared/dbus-common.c b/src/shared/dbus-common.c index f57956732..c727cae7c 100644 --- a/src/shared/dbus-common.c +++ b/src/shared/dbus-common.c @@ -1383,6 +1383,8 @@ int bus_method_call_with_reply( r = -EACCES; else if (dbus_error_has_name(&error, DBUS_ERROR_NO_REPLY)) r = -ETIMEDOUT; + else if (dbus_error_has_name(&error, DBUS_ERROR_DISCONNECTED)) + r = -ECONNRESET; else r = -EIO; goto finish; diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index e3818cd6d..d25b7d6fa 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -3938,9 +3938,9 @@ static int daemon_reload(DBusConnection *bus, char **args) { /* There's always a fallback possible for * legacy actions. */ r = -EADDRNOTAVAIL; - else if (r == -ETIMEDOUT && streq(method, "Reexecute")) - /* On reexecution, we expect a disconnect, not - * a reply */ + else if ((r == -ETIMEDOUT || r == -ECONNRESET) && streq(method, "Reexecute")) + /* On reexecution, we expect a disconnect, not a + * reply */ r = 0; else if (r < 0) log_error("Failed to issue method call: %s", bus_error_message(&error));