diff options
author | Lennart Poettering <lennart@poettering.net> | 2011-02-24 03:23:14 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2011-02-24 03:23:14 +0100 |
commit | c77bc38d28b2da11dcd219635205e633b5c0cd28 (patch) | |
tree | ba5e6a8f06d755a8752dcf8245ca140b3a807050 | |
parent | 312732cfaf63b463b2062c47fddb2d639a5fe635 (diff) |
job: when cancelling jobs, make sure to propagate this properly to depending jobs
-rw-r--r-- | TODO | 2 | ||||
-rw-r--r-- | src/dbus-job.c | 2 | ||||
-rw-r--r-- | src/manager.c | 2 |
3 files changed, 4 insertions, 2 deletions
@@ -19,6 +19,8 @@ F15: * Make systemd-cryptsetup cancellable +* udev should be able to upgrade its database on its own + Features: * introduce simple way to do mandatory conditions diff --git a/src/dbus-job.c b/src/dbus-job.c index 16aa8d071e..2a33039bdb 100644 --- a/src/dbus-job.c +++ b/src/dbus-job.c @@ -97,7 +97,7 @@ static DBusHandlerResult bus_job_message_dispatch(Job *j, DBusConnection *connec if (!(reply = dbus_message_new_method_return(message))) goto oom; - job_free(j); + job_finish_and_invalidate(j, JOB_CANCELED); } else return bus_default_message_handler(j->manager, connection, message, INTROSPECTION, properties); diff --git a/src/manager.c b/src/manager.c index f266aaa01c..d77dc09617 100644 --- a/src/manager.c +++ b/src/manager.c @@ -1823,7 +1823,7 @@ void manager_clear_jobs(Manager *m) { transaction_abort(m); while ((j = hashmap_first(m->jobs))) - job_free(j); + job_finish_and_invalidate(j, JOB_CANCELED); } unsigned manager_dispatch_run_queue(Manager *m) { |