diff options
author | Janne Blomqvist <jb@gcc.gnu.org> | 2019-05-17 21:18:04 +0300 |
---|---|---|
committer | Janne Blomqvist <jb@gcc.gnu.org> | 2019-05-17 21:18:04 +0300 |
commit | f888603842067252f8a9d14eaa9d070ae7b00662 (patch) | |
tree | c99a2f356406142291186a4b7102a86f67f29579 /libgfortran/configure.ac | |
parent | 8ee47828d226e2041ac0f3b5b8c1aed43cec24a4 (diff) | |
download | gcc-f888603842067252f8a9d14eaa9d070ae7b00662.zip gcc-f888603842067252f8a9d14eaa9d070ae7b00662.tar.gz gcc-f888603842067252f8a9d14eaa9d070ae7b00662.tar.bz2 |
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
Diffstat (limited to 'libgfortran/configure.ac')
-rw-r--r-- | libgfortran/configure.ac | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac index c06db7b..8fd5a1a 100644 --- a/libgfortran/configure.ac +++ b/libgfortran/configure.ac @@ -315,7 +315,7 @@ else AC_CHECK_FUNCS_ONCE(getrusage times mkstemp strtof strtold snprintf \ ftruncate chsize chdir getentropy getlogin gethostname kill link symlink \ sleep ttyname \ - alarm access fork setmode fcntl writev \ + alarm access fork posix_spawn setmode fcntl writev \ gettimeofday stat fstat lstat getpwuid vsnprintf dup \ getcwd localtime_r gmtime_r getpwuid_r ttyname_r clock_gettime \ getgid getpid getuid geteuid umask getegid \ |