diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-08-30 23:31:27 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-08-30 23:31:27 +0200 |
commit | da726a4d4dc324b35c703fd2dc5f60b460ce8091 (patch) | |
tree | 278e8e7f49a2c4f360f2ddf5cb990bfdbd1119af | |
parent | 2528a7a62c4ad9b2f4773b608d208239299da50c (diff) |
exec: make sure O_NONBLOCK is off for all sockets passed as STDIN/STDOUT/STDERR
-rw-r--r-- | fixme | 24 | ||||
-rw-r--r-- | src/execute.c | 5 |
2 files changed, 19 insertions, 10 deletions
@@ -1,8 +1,6 @@ * oneshot services which do not remain: 'exited' instead of 'dead'? it should be visible in 'systemctl' that they have been run -* systemd.log_level=debug should overwrite 'quiet' ? - * dot output for --test showing the 'initial transaction' * have a simple syslog bridge providing /dev/log and forward messages @@ -64,29 +62,35 @@ * ConditionFileExists=, ConditionKernelCommandLine=, ConditionEnvironment= mit ! -* oom_score_adj - * accountsservice is dod -* follow LSB exit codes spec in "systemctl start" - * auditd service files * add systemctl switch to dump transaction without executing it -* shell wenn fsck im arsch is - * system.conf/session.conf brauch ne man page * exec /sbin/poweroff als PID 1 und shutdown +* kexec, suspend, resume + +v9: + * MTA IS KAPUTT -* kill-mode=cgroup muss auch die mainpid killen! +* kill-mode=cgroup muss auch die mainpid killen! https://bugzilla.redhat.com/show_bug.cgi?id=626477 * o_ndelay ausschalten für stdin/stderr/stdout auf socket -* kexec, suspend, resume +* follow LSB exit codes spec in "systemctl start" + +* oom_score_adj + +* fix isolate as runlevel https://bugzilla.redhat.com/show_bug.cgi?id=627014 + +* rename failed/maintenance https://bugzilla.redhat.com/show_bug.cgi?id=614619 + +* systemctl wrapping https://bugzilla.redhat.com/show_bug.cgi?id=626891 https://bugzilla.redhat.com/show_bug.cgi?id=626443 External: diff --git a/src/execute.c b/src/execute.c index f35e916e4c..2443d9c74d 100644 --- a/src/execute.c +++ b/src/execute.c @@ -1038,6 +1038,11 @@ int exec_spawn(ExecCommand *command, goto fail; } + /* If a socket is connected to STDIN/STDOUT/STDERR, we + * must sure to drop O_NONBLOCK */ + if (socket_fd >= 0) + fd_nonblock(socket_fd, false); + if (!keep_stdin) if (setup_input(context, socket_fd, apply_tty_stdin) < 0) { r = EXIT_STDIN; |