1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-30 06:25:37 +03:00

systemctl: Don't give re-activation warning if unit is masked

This commit is contained in:
Jan Janssen 2013-02-15 16:10:36 +01:00 committed by Zbigniew Jędrzejewski-Szmek
parent 265a7a2a60
commit d0a5cdb280

View File

@ -1336,7 +1336,9 @@ static void check_triggering_units(
_cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
DBusMessageIter iter, sub;
const char *interface = "org.freedesktop.systemd1.Unit",
*triggered_by_property = "TriggeredBy";
*load_state_property = "LoadState",
*triggered_by_property = "TriggeredBy",
*state;
char _cleanup_free_ *unit_path = NULL, *n = NULL;
bool print_warning_label = true;
int r;
@ -1353,6 +1355,41 @@ static void check_triggering_units(
return;
}
r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",
unit_path,
"org.freedesktop.DBus.Properties",
"Get",
&reply,
NULL,
DBUS_TYPE_STRING, &interface,
DBUS_TYPE_STRING, &load_state_property,
DBUS_TYPE_INVALID);
if (r < 0)
return;
if (!dbus_message_iter_init(reply, &iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT) {
log_error("Failed to parse reply.");
return;
}
dbus_message_iter_recurse(&iter, &sub);
if (dbus_message_iter_get_arg_type(&sub) != DBUS_TYPE_STRING) {
log_error("Failed to parse reply.");
return;
}
dbus_message_iter_get_basic(&sub, &state);
if (streq(state, "masked"))
return;
dbus_message_unref(reply);
reply = NULL;
r = bus_method_call_with_reply(
bus,
"org.freedesktop.systemd1",