chiark / gitweb /
exec: make sure O_NONBLOCK is off for all sockets passed as STDIN/STDOUT/STDERR
authorLennart Poettering <lennart@poettering.net>
Mon, 30 Aug 2010 21:31:27 +0000 (23:31 +0200)
committerLennart Poettering <lennart@poettering.net>
Mon, 30 Aug 2010 21:31:27 +0000 (23:31 +0200)
fixme
src/execute.c

diff --git a/fixme b/fixme
index e5d17a060e0c9c926f4179bc2592aa716c0bec8e..1ac8ba283484e8f0a682ad25b3d39d4c025acf94 100644 (file)
--- a/fixme
+++ b/fixme
@@ -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
 
 * 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:
 
index f35e916e4cbedca7892531917715b090ef1c82b6..2443d9c74d08e65c543ebed36350bed31593d5d6 100644 (file)
@@ -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;