X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Funit.h;h=53b8a7f66b57cfbd97175cab64a672148e2ab5f7;hb=615938651d3a4fd9253b08da00db22d451a8cef8;hp=f6587ba5f0a80d89a702512e8fbebc1ba518afbd;hpb=ee33e53a70c0d3f9d8aeafe4b8fd84a0d5e1d8d9;p=elogind.git diff --git a/src/core/unit.h b/src/core/unit.h index f6587ba5f..53b8a7f66 100644 --- a/src/core/unit.h +++ b/src/core/unit.h @@ -345,6 +345,10 @@ struct UnitVTable { * way */ bool (*check_gc)(Unit *u); + /* When the unit is not running and no job for it queued we + * shall release its runtime resources */ + void (*release_resources)(Unit *u); + /* Return true when this unit is suitable for snapshotting */ bool (*check_snapshot)(Unit *u); @@ -359,7 +363,7 @@ struct UnitVTable { void (*notify_cgroup_empty)(Unit *u); /* Called whenever a process of this unit sends us a message */ - void (*notify_message)(Unit *u, pid_t pid, char **tags); + void (*notify_message)(Unit *u, pid_t pid, char **tags, FDSet *fds); /* Called whenever a name this Unit registered for comes or * goes away. */ @@ -396,6 +400,10 @@ struct UnitVTable { /* Type specific cleanups. */ void (*shutdown)(Manager *m); + /* If this function is set and return false all jobs for units + * of this type will immediately fail. */ + bool (*supported)(Manager *m); + /* The interface name */ const char *bus_interface;