X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=execute.c;h=12f514504cabac8261fa3b39e863bf9841615718;hb=f58eedd538b3a138814a54b94b0c2c89ef727d82;hp=a7775a4ea9f552cdc1defeecf3ba941775373372;hpb=1137a57c2677936bab56c26591a42c93a5e670a8;p=elogind.git diff --git a/execute.c b/execute.c index a7775a4ea..12f514504 100644 --- a/execute.c +++ b/execute.c @@ -187,10 +187,12 @@ static int connect_logger_as(const ExecContext *context, ExecOutput output, cons dprintf(fd, "%s\n" "%i\n" - "%s\n", + "%s\n" + "%i\n", output == EXEC_OUTPUT_KERNEL ? "kmsg" : "syslog", context->syslog_priority, - context->syslog_identifier ? context->syslog_identifier : ident); + context->syslog_identifier ? context->syslog_identifier : ident, + !context->syslog_no_prefix); if (fd != nfd) { r = dup2(fd, nfd) < 0 ? -errno : nfd; @@ -392,8 +394,8 @@ static int chown_terminal(int fd, uid_t uid) { assert(fd >= 0); /* This might fail. What matters are the results. */ - fchown(fd, uid, -1); - fchmod(fd, TTY_MODE); + (void) fchown(fd, uid, -1); + (void) fchmod(fd, TTY_MODE); if (fstat(fd, &st) < 0) return -errno; @@ -1035,6 +1037,8 @@ int exec_spawn(ExecCommand *command, goto fail; } + assert(n_env <= 6); + if (!(final_env = strv_env_merge(environment, our_env, context->environment, NULL))) { r = EXIT_MEMORY; goto fail; @@ -1062,10 +1066,7 @@ int exec_spawn(ExecCommand *command, * sure that when we kill the cgroup the process will be * killed too). */ if (cgroup_bondings) - if ((r = cgroup_bonding_install_list(cgroup_bondings, pid)) < 0) { - r = EXIT_CGROUP; - goto fail; - } + cgroup_bonding_install_list(cgroup_bondings, pid); log_debug("Forked %s as %llu", command->path, (unsigned long long) pid);