1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-05 15:21:37 +03:00

systemctl: fix issue with systemctl daemon-reexec

This commit is contained in:
Simon Peeters 2012-08-10 17:32:19 +02:00 committed by Lennart Poettering
parent fd5b4ca11e
commit c516c8d17f
2 changed files with 10 additions and 4 deletions

View File

@ -1287,6 +1287,7 @@ int bus_method_call_with_reply(DBusConnection *bus,
reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error); reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error);
dbus_message_unref(m); dbus_message_unref(m);
if (!reply) { if (!reply) {
if (!return_error)
log_error("Failed to issue method call: %s", bus_error_message(&error)); log_error("Failed to issue method call: %s", bus_error_message(&error));
if (bus_error_is_no_service(&error)) if (bus_error_is_no_service(&error))
r = -ENOENT; r = -ENOENT;

View File

@ -1537,11 +1537,12 @@ static int start_unit_one(
DBUS_TYPE_INVALID); DBUS_TYPE_INVALID);
free(n); free(n);
if (r) { if (r) {
if (r == -ENOENT && arg_action != ACTION_SYSTEMCTL ) { if (r == -ENOENT && arg_action != ACTION_SYSTEMCTL )
/* There's always a fallback possible for /* There's always a fallback possible for
* legacy actions. */ * legacy actions. */
r = -EADDRNOTAVAIL; r = -EADDRNOTAVAIL;
} else
log_error("Failed to issue method call: %s", bus_error_message(error));
goto finish; goto finish;
} }
@ -3143,6 +3144,7 @@ finish:
static int daemon_reload(DBusConnection *bus, char **args) { static int daemon_reload(DBusConnection *bus, char **args) {
int r; int r;
const char *method; const char *method;
DBusError error;
if (arg_action == ACTION_RELOAD) if (arg_action == ACTION_RELOAD)
method = "Reload"; method = "Reload";
@ -3171,7 +3173,7 @@ static int daemon_reload(DBusConnection *bus, char **args) {
"org.freedesktop.systemd1.Manager", "org.freedesktop.systemd1.Manager",
method, method,
NULL, NULL,
NULL, &error,
DBUS_TYPE_INVALID); DBUS_TYPE_INVALID);
if (r == -ENOENT && arg_action != ACTION_SYSTEMCTL) if (r == -ENOENT && arg_action != ACTION_SYSTEMCTL)
@ -3182,6 +3184,9 @@ static int daemon_reload(DBusConnection *bus, char **args) {
/* On reexecution, we expect a disconnect, not /* On reexecution, we expect a disconnect, not
* a reply */ * a reply */
r = 0; r = 0;
else if (r)
log_error("Failed to issue method call: %s", bus_error_message(&error));
dbus_error_free(&error);
return r; return r;
} }