* Thomas Stüfe: > Right now I am worried more about things I cannot determine yet. Where > before we would wait for the pipe to get broken, now we have a read > call on the parent side, a write call on the child side, which both > must succeed. Could they fail sporadically, e.g. due to EINTR? I know > this sounds very vague but around this API I am super careful.
EINTR should only arrive if there's a signal handler, otherwise the signal is either ignored or terminates the process. I don't think jspawnhelper installs any. If the write fails, jspawnhelper can just exit, and it will look like as if it had never launched (resulting in an error). The write-after-exec-error case is more problematic than that. I'm working on this from the other end—adding functionality to glibc, so that we can eliminate jspawnhelper. But that's a more long-term effort, of course. Thanks, Florian