libfortran/90038: Use posix_spawn instead of fork
authorJanne Blomqvist <jb@gcc.gnu.org>
Fri, 17 May 2019 18:18:04 +0000 (21:18 +0300)
committerJanne Blomqvist <jb@gcc.gnu.org>
Fri, 17 May 2019 18:18:04 +0000 (21:18 +0300)
commitf888603842067252f8a9d14eaa9d070ae7b00662
treec99a2f356406142291186a4b7102a86f67f29579
parent8ee47828d226e2041ac0f3b5b8c1aed43cec24a4
libfortran/90038: Use posix_spawn instead of fork

fork() semantics can be problematic.  Most unix style OS'es have
posix_spawn which can be used to replace fork + exec in many cases.
For more information see
e.g. https://www.microsoft.com/en-us/research/uploads/prod/2019/04/fork-hotos19.pdf

This replaces the one use of fork in libgfortran with posix_spawn.

2019-05-17  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/90038
        * configure.ac (AC_CHECK_FUNCS_ONCE): Check for posix_spawn.
        * intrinsics/execute_command_line (execute_command_line): Use
        posix_spawn.
        * Makefile.in: Regenerated.
        * config.h.in: Regenerated.
        * configure: Regenerated.

Regtested on x86_64-pc-linux-gnu.

From-SVN: r271340
libgfortran/ChangeLog
libgfortran/Makefile.in
libgfortran/config.h.in
libgfortran/configure
libgfortran/configure.ac
libgfortran/intrinsics/execute_command_line.c