X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fload-fragment.c;h=ef5d192f2a0fecbbdd7310a8bdacc5456689b7f9;hb=6ef25fb65ee0a62972ed7cbc01b6a11feb5fcb16;hp=19031904f1c9bf4a3749a82b79313a913d958f94;hpb=57020a3abff20f176e9f0cbb982d7977119d6f08;p=elogind.git diff --git a/src/load-fragment.c b/src/load-fragment.c index 19031904f..ef5d192f2 100644 --- a/src/load-fragment.c +++ b/src/load-fragment.c @@ -1386,6 +1386,7 @@ int config_parse_socket_service( Socket *s = data; int r; DBusError error; + Unit *x; assert(filename); assert(lvalue); @@ -1399,12 +1400,15 @@ int config_parse_socket_service( return 0; } - if ((r = manager_load_unit(s->meta.manager, rvalue, NULL, &error, (Unit**) &s->service)) < 0) { + r = manager_load_unit(s->meta.manager, rvalue, NULL, &error, &x); + if (r < 0) { log_error("[%s:%u] Failed to load unit %s, ignoring: %s", filename, line, rvalue, bus_error(&error, r)); dbus_error_free(&error); return 0; } + unit_ref_set(&s->service, x); + return 0; }