#if 0 /// UNNEEDED by elogind
int unit_get_memory_current(Unit *u, uint64_t *ret) {
_cleanup_free_ char *v = NULL;
- CGroupContext *cc;
int r;
assert(u);
assert(ret);
- cc = unit_get_cgroup_context(u);
- if (!cc)
- return -ENODATA;
- if (!cc->memory_accounting)
+ if (!UNIT_CGROUP_BOOL(u, memory_accounting))
return -ENODATA;
if (!u->cgroup_path)
int unit_get_tasks_current(Unit *u, uint64_t *ret) {
_cleanup_free_ char *v = NULL;
- CGroupContext *cc;
int r;
assert(u);
assert(ret);
- cc = unit_get_cgroup_context(u);
- if (!cc)
- return -ENODATA;
- if (!cc->tasks_accounting)
+ if (!UNIT_CGROUP_BOOL(u, tasks_accounting))
return -ENODATA;
if (!u->cgroup_path)
}
int unit_get_cpu_usage(Unit *u, nsec_t *ret) {
- CGroupContext *cc;
nsec_t ns;
int r;
* started. If the cgroup has been removed already, returns the last cached value. To cache the value, simply
* call this function with a NULL return value. */
- cc = unit_get_cgroup_context(u);
- if (!cc)
- return -ENODATA;
- if (!cc->cpu_accounting)
+ if (!UNIT_CGROUP_BOOL(u, cpu_accounting))
return -ENODATA;
r = unit_get_cpu_usage_raw(u, &ns);
CGroupIPAccountingMetric metric,
uint64_t *ret) {
- CGroupContext *cc;
uint64_t value;
int fd, r;
if (u->type == UNIT_SLICE)
return -ENODATA;
- cc = unit_get_cgroup_context(u);
- if (!cc)
- return -ENODATA;
- if (!cc->ip_accounting)
+ if (!UNIT_CGROUP_BOOL(u, ip_accounting))
return -ENODATA;
fd = IN_SET(metric, CGROUP_IP_INGRESS_BYTES, CGROUP_IP_INGRESS_PACKETS) ?
return r < 0 ? r : q;
}
-bool unit_cgroup_delegate(Unit *u) {
- CGroupContext *c;
-
- assert(u);
-
- c = unit_get_cgroup_context(u);
- if (!c)
- return false;
-
- return c->delegate;
-}
-
void unit_invalidate_cgroup(Unit *u, CGroupMask m) {
assert(u);
int unit_reset_cpu_accounting(Unit *u);
int unit_reset_ip_accounting(Unit *u);
-bool unit_cgroup_delegate(Unit *u);
+#define UNIT_CGROUP_BOOL(u, name) \
+ ({ \
+ CGroupContext *cc = unit_get_cgroup_context(u); \
+ cc ? cc->name : false; \
+ })
int unit_notify_cgroup_empty(Unit *u);
#endif // 0