diff --git a/man/org.freedesktop.systemd1.xml b/man/org.freedesktop.systemd1.xml
index ba7728b614..f9aa67739f 100644
--- a/man/org.freedesktop.systemd1.xml
+++ b/man/org.freedesktop.systemd1.xml
@@ -11643,6 +11643,7 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \
RootImagePolicy,
MountImagePolicy, and
ExtensionImagePolicy were added in version 254.
+ NFTSet was added in version 255.
Socket Unit Objects
@@ -11665,8 +11666,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \
RootImagePolicy,
MountImagePolicy, and
ExtensionImagePolicy were added in version 254.
- PollLimitIntervalUSec and
- PollLimitBurst were added in version 255.
+ PollLimitIntervalUSec,
+ PollLimitBurst, and
+ NFTSet were added in version 255.
Mount Unit Objects
@@ -11689,6 +11691,7 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \
RootImagePolicy,
MountImagePolicy, and
ExtensionImagePolicy were added in version 254.
+ NFTSet was added in version 255.
Swap Unit Objects
@@ -11711,6 +11714,7 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \
RootImagePolicy,
MountImagePolicy, and
ExtensionImagePolicy were added in version 254.
+ NFTSet was added in version 255.
Slice Unit Objects
@@ -11725,6 +11729,7 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \
StartupMemoryZSwapMax,
MemoryPressureWatch, and
MemoryPressureThresholdUSec were added in version 254.
+ NFTSet was added in version 255.
Scope Unit Objects
@@ -11740,6 +11745,7 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \
StartupMemoryZSwapMax,
MemoryPressureWatch, and
MemoryPressureThresholdUSec were added in version 254.
+ NFTSet was added in version 255.
Job Objects
diff --git a/src/core/unit.c b/src/core/unit.c
index 09fe023ae2..ba3af56303 100644
--- a/src/core/unit.c
+++ b/src/core/unit.c
@@ -3786,7 +3786,7 @@ int unit_add_blockdev_dependency(Unit *u, const char *what, UnitDependencyMask m
}
int unit_coldplug(Unit *u) {
- int r = 0, q;
+ int r = 0;
assert(u);
@@ -3796,29 +3796,18 @@ int unit_coldplug(Unit *u) {
u->coldplugged = true;
- STRV_FOREACH(i, u->deserialized_refs) {
- q = bus_unit_track_add_name(u, *i);
- if (q < 0 && r >= 0)
- r = q;
- }
+ STRV_FOREACH(i, u->deserialized_refs)
+ RET_GATHER(r, bus_unit_track_add_name(u, *i));
+
u->deserialized_refs = strv_free(u->deserialized_refs);
- if (UNIT_VTABLE(u)->coldplug) {
- q = UNIT_VTABLE(u)->coldplug(u);
- if (q < 0 && r >= 0)
- r = q;
- }
+ if (UNIT_VTABLE(u)->coldplug)
+ RET_GATHER(r, UNIT_VTABLE(u)->coldplug(u));
- if (u->job) {
- q = job_coldplug(u->job);
- if (q < 0 && r >= 0)
- r = q;
- }
- if (u->nop_job) {
- q = job_coldplug(u->nop_job);
- if (q < 0 && r >= 0)
- r = q;
- }
+ if (u->job)
+ RET_GATHER(r, job_coldplug(u->job));
+ if (u->nop_job)
+ RET_GATHER(r, job_coldplug(u->nop_job));
CGroupContext *c = unit_get_cgroup_context(u);
if (c)