Add GCancellable handling to LUCStarter
authorJonathan Maw <jonathan.maw@codethink.co.uk>
Wed, 20 Jun 2012 15:40:55 +0000 (16:40 +0100)
committerJonathan Maw <jonathan.maw@codethink.co.uk>
Thu, 21 Jun 2012 11:03:24 +0000 (12:03 +0100)
commit89bc365aa5fd732e3cd02a2d252968baec68e66a
tree9fbe9bb20f7dbae67dadc6a5c00d8dbc0ec9ab08
parentb80eaed845a010943120b599d359ad48e06c15b3
Add GCancellable handling to LUCStarter

When systemd is told to start an app, it is passed a GCancellable object
so that the LUCStarter can cancel the start call.

Internally, the LUCStarter has a GHashTable associating each app with
its GCancellable.

Because start_app_finish requires the LUCStarter to start the next group
of apps, the LUCStarter must persist until all start jobs have finished.
For this reason, the start_app method increases the reference count to
the LUCStarter, and the start_app_finish method decreases the reference
count.
boot-manager/luc-starter.c