X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fexecute.c;h=10ce951c599fb02ecede8ca9718b9a14b8286956;hb=867b3b7d6b88ba4d07ec7c830576d4ac2f7dd226;hp=05abd5aaac3aac964488ba564170307695a20041;hpb=e3aa71c38cbecb24e6333411ee19814796a5b1d0;p=elogind.git diff --git a/src/execute.c b/src/execute.c index 05abd5aaa..10ce951c5 100644 --- a/src/execute.c +++ b/src/execute.c @@ -1303,6 +1303,8 @@ int exec_spawn(ExecCommand *command, goto fail; } + final_env = strv_env_clean(final_env); + execve(command->path, final_argv, final_env); r = EXIT_EXEC; @@ -1347,6 +1349,7 @@ void exec_context_init(ExecContext *c) { c->syslog_level_prefix = true; c->mount_flags = MS_SHARED; c->kill_signal = SIGTERM; + c->send_sigkill = true; } void exec_context_done(ExecContext *c) { @@ -1404,6 +1407,9 @@ void exec_context_done(ExecContext *c) { if (c->cpuset) CPU_FREE(c->cpuset); + + free(c->utmp_id); + c->utmp_id = NULL; } void exec_command_done(ExecCommand *c) { @@ -1613,9 +1619,11 @@ void exec_context_dump(ExecContext *c, FILE* f, const char *prefix) { fprintf(f, "%sKillMode: %s\n" - "%sKillSignal: SIG%s\n", + "%sKillSignal: SIG%s\n" + "%sSendSIGKILL: %s\n", prefix, kill_mode_to_string(c->kill_mode), - prefix, signal_to_string(c->kill_signal)); + prefix, signal_to_string(c->kill_signal), + prefix, yes_no(c->send_sigkill)); if (c->utmp_id) fprintf(f,