X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fbusname.c;h=68cb6ca7b7f2e0d7b62ce378caf1f1edc70ee588;hb=45071fcaa03eafc27352987fa2277b2792725036;hp=d2c926b471b4061965283e00f4af075c19e98a85;hpb=8d0e0ddda6501479eb69164687c83c1a7667b33a;p=elogind.git diff --git a/src/core/busname.c b/src/core/busname.c index d2c926b47..68cb6ca7b 100644 --- a/src/core/busname.c +++ b/src/core/busname.c @@ -290,14 +290,19 @@ static int busname_watch_fd(BusName *n) { } static int busname_open_fd(BusName *n) { + _cleanup_free_ char *path = NULL; + const char *mode; + assert(n); if (n->starter_fd >= 0) return 0; - n->starter_fd = bus_kernel_open_bus_fd(UNIT(n)->manager->running_as == SYSTEMD_SYSTEM ? "system" : "user"); + mode = UNIT(n)->manager->running_as == SYSTEMD_SYSTEM ? "system" : "user"; + n->starter_fd = bus_kernel_open_bus_fd(mode, &path); if (n->starter_fd < 0) { - log_warning_unit(UNIT(n)->id, "Failed to create starter fd: %s", strerror(-n->starter_fd)); + log_warning_unit(UNIT(n)->id, "Failed to open %s: %s", + path ?: "kdbus", strerror(-n->starter_fd)); return n->starter_fd; } @@ -441,7 +446,7 @@ static void busname_enter_signal(BusName *n, BusNameState state, BusNameResult f r = unit_kill_context(UNIT(n), &kill_context, - state != BUSNAME_SIGTERM, + state != BUSNAME_SIGTERM ? KILL_KILL : KILL_TERMINATE, -1, n->control_pid, false); @@ -763,7 +768,7 @@ static void busname_sigchld_event(Unit *u, pid_t pid, int code, int status) { f = BUSNAME_FAILURE_EXIT_CODE; else if (code == CLD_KILLED) f = BUSNAME_FAILURE_SIGNAL; - else if (code == CLD_KILLED) + else if (code == CLD_DUMPED) f = BUSNAME_FAILURE_CORE_DUMP; else assert_not_reached("Unknown sigchld code"); @@ -906,14 +911,6 @@ static const char* const busname_result_table[_BUSNAME_RESULT_MAX] = { DEFINE_STRING_TABLE_LOOKUP(busname_result, BusNameResult); -static const char* const busname_policy_access_table[_BUSNAME_POLICY_ACCESS_MAX] = { - [BUSNAME_POLICY_ACCESS_SEE] = "see", - [BUSNAME_POLICY_ACCESS_TALK] = "talk", - [BUSNAME_POLICY_ACCESS_OWN] = "own", -}; - -DEFINE_STRING_TABLE_LOOKUP(busname_policy_access, BusNamePolicyAccess); - const UnitVTable busname_vtable = { .object_size = sizeof(BusName),