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.
This commit is contained in:
Lennart Poettering 2013-07-10 20:44:21 +02:00
parent 94c01aeb10
commit d0ede8f1c5
2 changed files with 5 additions and 3 deletions

View File

@ -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;

View File

@ -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));