systemd: return error when asked to stop unknown unit
Command systemctl stop foo.service, will print error message, when foo.service is unknown to systemd, i.e. there is no unit file loaded for this service. https://bugzilla.redhat.com/show_bug.cgi?id=732874
This commit is contained in:
parent
b30b426025
commit
9722ef2565
|
@ -1587,6 +1587,11 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
|
|||
job_type = JOB_RELOAD;
|
||||
}
|
||||
|
||||
if (job_type == JOB_STOP && u->load_state == UNIT_ERROR && unit_active_state(u) == UNIT_INACTIVE) {
|
||||
dbus_set_error(&error, BUS_ERROR_NO_SUCH_UNIT, "Unit %s not loaded.", name);
|
||||
return bus_send_error_reply(connection, message, &error, -EPERM);
|
||||
}
|
||||
|
||||
if ((job_type == JOB_START && u->refuse_manual_start) ||
|
||||
(job_type == JOB_STOP && u->refuse_manual_stop) ||
|
||||
((job_type == JOB_RESTART || job_type == JOB_TRY_RESTART) &&
|
||||
|
|
Loading…
Reference in a new issue