RFR(s): 8223777: In posix_spawn mode, failing to exec() jspawnhelper does not result in an error
Florian Weimer
fweimer at redhat.com
Tue May 14 19:00:51 UTC 2019
* 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
More information about the core-libs-dev
mailing list