summaryrefslogtreecommitdiff
path: root/src/dbus-timer.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2012-01-06 23:08:54 +0100
committerLennart Poettering <lennart@poettering.net>2012-01-06 23:08:54 +0100
commit57020a3abff20f176e9f0cbb982d7977119d6f08 (patch)
tree3b3d69307cecce0dc4ad25aa074c2a0db64bdfb6 /src/dbus-timer.c
parent73aa0c00df8b101bad4c3a038148a633df88610c (diff)
unit: properly update references to units which are merged
When we merge units that some kind of object points to, those pointers might become invalidated, and needs to be updated. Introduce a UnitRef struct which links up all the unit references, to ensure corrected references. At the same time, drop configured_sockets in the Service object, and replace it by proper UNIT_TRIGGERS resp. UNIT_TRIGGERED_BY dependencies, which allow us to simplify a lot of code.
Diffstat (limited to 'src/dbus-timer.c')
-rw-r--r--src/dbus-timer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dbus-timer.c b/src/dbus-timer.c
index abcbe6f9b..07d425e20 100644
--- a/src/dbus-timer.c
+++ b/src/dbus-timer.c
@@ -107,7 +107,7 @@ static int bus_timer_append_unit(DBusMessageIter *i, const char *property, void
assert(property);
assert(u);
- t = u->timer.unit ? u->timer.unit->meta.id : "";
+ t = UNIT_DEREF(u->timer.unit) ? UNIT_DEREF(u->timer.unit)->meta.id : "";
return dbus_message_iter_append_basic(i, DBUS_TYPE_STRING, &t) ? 0 : -ENOMEM;
}