[systemd-commits] src/core

Michal Schmidt michich at kemper.freedesktop.org
Tue Jun 19 02:45:26 PDT 2012


 src/core/dbus-manager.c |    5 +++++
 1 file changed, 5 insertions(+)

New commits:
commit 9722ef2565fdddd64deaa99d7665ca0fdafed1a5
Author: Michal Sekletar <msekleta at redhat.com>
Date:   Tue Jun 19 10:00:54 2012 +0200

    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

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) &&



More information about the systemd-commits mailing list