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
---
src/core/dbus-manager.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c
index e96929a..4524327 100644
--- a/src/core/dbus-manager.c
+++ b/src/core/dbus-manager.c
@@ -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)
&&
--
1.7.10.2
_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel