From 33fe0afe9af56af67ab72cf407cb41a8628e0e06 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 23 Nov 2017 12:51:54 +0100 Subject: [PATCH] core: serialize the "controller" field in scope units We forgot to serialize it previously, hence daemon reload flushed it out, since we also didn't write it to any unit file... --- src/core/scope.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/core/scope.c b/src/core/scope.c index 444c00be92..05b2ec31d1 100644 --- a/src/core/scope.c +++ b/src/core/scope.c @@ -411,11 +411,16 @@ static int scope_serialize(Unit *u, FILE *f, FDSet *fds) { unit_serialize_item(u, f, "state", scope_state_to_string(s->state)); unit_serialize_item(u, f, "was-abandoned", yes_no(s->was_abandoned)); + + if (s->controller) + unit_serialize_item(u, f, "controller", s->controller); + return 0; } static int scope_deserialize_item(Unit *u, const char *key, const char *value, FDSet *fds) { Scope *s = SCOPE(u); + int r; assert(u); assert(key); @@ -439,6 +444,12 @@ static int scope_deserialize_item(Unit *u, const char *key, const char *value, F log_unit_debug(u, "Failed to parse boolean value: %s", value); else s->was_abandoned = k; + } else if (streq(key, "controller")) { + + r = free_and_strdup(&s->controller, value); + if (r < 0) + log_oom(); + } else log_unit_debug(u, "Unknown serialization key: %s", key); -- 2.25.1