chiark / gitweb /
job: when cancelling jobs, make sure to propagate this properly to depending jobs
authorLennart Poettering <lennart@poettering.net>
Thu, 24 Feb 2011 02:23:14 +0000 (03:23 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 24 Feb 2011 02:23:14 +0000 (03:23 +0100)
TODO
src/dbus-job.c
src/manager.c

diff --git a/TODO b/TODO
index c7ba9fe..0f64307 100644 (file)
--- a/TODO
+++ b/TODO
@@ -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
index 16aa8d0..2a33039 100644 (file)
@@ -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);
index f266aaa..d77dc09 100644 (file)
@@ -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) {