diff options
author | Lennart Poettering <lennart@poettering.net> | 2012-01-06 23:08:54 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2012-01-06 23:08:54 +0100 |
commit | 57020a3abff20f176e9f0cbb982d7977119d6f08 (patch) | |
tree | 3b3d69307cecce0dc4ad25aa074c2a0db64bdfb6 /src/dbus-path.c | |
parent | 73aa0c00df8b101bad4c3a038148a633df88610c (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-path.c')
-rw-r--r-- | src/dbus-path.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dbus-path.c b/src/dbus-path.c index 15238798ae..f67b5a2b7c 100644 --- a/src/dbus-path.c +++ b/src/dbus-path.c @@ -86,7 +86,7 @@ static int bus_path_append_unit(DBusMessageIter *i, const char *property, void * assert(property); assert(u); - t = u->path.unit ? u->path.unit->meta.id : ""; + t = UNIT_DEREF(u->path.unit) ? UNIT_DEREF(u->path.unit)->meta.id : ""; return dbus_message_iter_append_basic(i, DBUS_TYPE_STRING, &t) ? 0 : -ENOMEM; } |