1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-06 13:17:44 +03:00

unit: add new macros to test for unit contexts

This commit is contained in:
Lennart Poettering 2015-08-28 17:14:59 +02:00
parent 6513d561ce
commit 35b7ff80e2
5 changed files with 8 additions and 7 deletions

View File

@ -806,12 +806,9 @@ static void unit_queue_siblings(Unit *u) {
}
int unit_realize_cgroup(Unit *u) {
CGroupContext *c;
assert(u);
c = unit_get_cgroup_context(u);
if (!c)
if (!UNIT_HAS_CGROUP_CONTEXT(u))
return 0;
/* So, here's the deal: when realizing the cgroups for this

View File

@ -965,7 +965,7 @@ static int bus_unit_set_transient_property(
return 1;
} else if (streq(name, "Slice") && unit_get_cgroup_context(u)) {
} else if (streq(name, "Slice") && UNIT_HAS_CGROUP_CONTEXT(u)) {
const char *s;
r = sd_bus_message_read(message, "s", &s);

View File

@ -381,7 +381,7 @@ static int bus_unit_cgroup_find(sd_bus *bus, const char *path, const char *inter
if (!streq_ptr(interface, unit_dbus_interface_from_type(u->type)))
return 0;
if (!unit_get_cgroup_context(u))
if (!UNIT_HAS_CGROUP_CONTEXT(u))
return 0;
*found = u;

View File

@ -1122,7 +1122,7 @@ static int unit_add_target_dependencies(Unit *u) {
static int unit_add_slice_dependencies(Unit *u) {
assert(u);
if (!unit_get_cgroup_context(u))
if (!UNIT_HAS_CGROUP_CONTEXT(u))
return 0;
if (UNIT_ISSET(u->slice))

View File

@ -439,6 +439,10 @@ extern const UnitVTable * const unit_vtable[_UNIT_TYPE_MAX];
/* For casting the various unit types into a unit */
#define UNIT(u) (&(u)->meta)
#define UNIT_HAS_EXEC_CONTEXT(u) (UNIT_VTABLE(u)->exec_context_offset > 0)
#define UNIT_HAS_CGROUP_CONTEXT(u) (UNIT_VTABLE(u)->cgroup_context_offset > 0)
#define UNIT_HAS_KILL_CONTEXT(u) (UNIT_VTABLE(u)->kill_context_offset > 0)
#define UNIT_TRIGGER(u) ((Unit*) set_first((u)->dependencies[UNIT_TRIGGERS]))
DEFINE_CAST(SERVICE, Service);