diff options
author | Janne Blomqvist <jb@gcc.gnu.org> | 2019-05-19 22:38:11 +0300 |
---|---|---|
committer | Janne Blomqvist <jb@gcc.gnu.org> | 2019-05-19 22:38:11 +0300 |
commit | ef536b413e077a87b15a11e60ca4c2675d11dccb (patch) | |
tree | a13eae10848d4fb1f477e179eefb5f27f860344a /libgfortran/config.h.in | |
parent | dbd5df2eb893bf5370fa3fdde6e09f21d4b26b79 (diff) |
libfortran/90038 Reap dead children when wait=.false.
When using posix_spawn or fork to launch a child process, the parent
needs to wait for the child, otherwise the dead child is left as a
zombie process. For this purpose one can install a signal handler for
SIGCHLD.
2019-05-19 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/90038
* intrinsics/execute_command_line (sigchld_handler): New function.
(execute_command_line): Install handler for SIGCHLD.
* configure.ac: Check for presence of sigaction and waitpid.
* config.h.in: Regenerated.
* configure: Regenerated.
Regtested on x86_64-pc-linux-gnu.
From-SVN: r271384
Diffstat (limited to 'libgfortran/config.h.in')
-rw-r--r-- | libgfortran/config.h.in | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libgfortran/config.h.in b/libgfortran/config.h.in index da3968cb94f..44786399987 100644 --- a/libgfortran/config.h.in +++ b/libgfortran/config.h.in @@ -666,6 +666,9 @@ /* Define to 1 if you have the `setmode' function. */ #undef HAVE_SETMODE +/* Define to 1 if you have the `sigaction' function. */ +#undef HAVE_SIGACTION + /* Define to 1 if you have the `sin' function. */ #undef HAVE_SIN @@ -831,6 +834,9 @@ /* Define to 1 if you have the `vsnprintf' function. */ #undef HAVE_VSNPRINTF +/* Define to 1 if you have the `waitpid' function. */ +#undef HAVE_WAITPID + /* Define if target has a reliable stat. */ #undef HAVE_WORKING_STAT |