X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fbusname.c;h=39ea6a0d939cbc5aa2e89e7fc7ca5079472fbd30;hb=2928b0a863091f8f291fddb168988711afd389ef;hp=d2c926b471b4061965283e00f4af075c19e98a85;hpb=8d0e0ddda6501479eb69164687c83c1a7667b33a;p=elogind.git diff --git a/src/core/busname.c b/src/core/busname.c index d2c926b47..39ea6a0d9 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; } @@ -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");