diff options
author | Stef Walter <stef@thewalter.net> | 2014-08-06 11:34:40 +0200 |
---|---|---|
committer | Stef Walter <stef@thewalter.net> | 2014-08-15 14:07:07 +0200 |
commit | 2ea31e5b13448fd7a9757da4bcd1de04a151ac3f (patch) | |
tree | c81d91225ff89f0717e610f3137ec3902e169aa9 /src/core/dbus-manager.c | |
parent | 36e34057a202d389263e98030fbd775b28b28af6 (diff) |
core: Common code for DBus methods that Cancel a job
Both ofs.Job.Cancel() and ofs.Manager.CancelJob() now use same
implementation. So we can add caller verify logic appropriately.
Diffstat (limited to 'src/core/dbus-manager.c')
-rw-r--r-- | src/core/dbus-manager.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c index ffef0c7d05..e4d6369c69 100644 --- a/src/core/dbus-manager.c +++ b/src/core/dbus-manager.c @@ -34,6 +34,7 @@ #include "architecture.h" #include "env-util.h" #include "dbus.h" +#include "dbus-job.h" #include "dbus-manager.h" #include "dbus-unit.h" #include "dbus-snapshot.h" @@ -685,13 +686,7 @@ static int method_cancel_job(sd_bus *bus, sd_bus_message *message, void *userdat if (!j) return sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_JOB, "Job %u does not exist.", (unsigned) id); - r = selinux_unit_access_check(j->unit, message, "stop", error); - if (r < 0) - return r; - - job_finish_and_invalidate(j, JOB_CANCELED, true); - - return sd_bus_reply_method_return(message, NULL); + return bus_job_method_cancel(bus, message, j, error); } static int method_clear_jobs(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { |