From 15ad66669ed7219d25b95e02681f78bf24271538 Mon Sep 17 00:00:00 2001 From: Janne Blomqvist Date: Tue, 21 May 2019 18:24:30 +0300 Subject: [PATCH] libfortran/90038: Document new wait=.false. implementation 2019-05-21 Janne Blomqvist PR libfortran/90038 * intrinsic.texi (EXECUTE_COMMAND_LINE): Explain new wait=.false. implementation. From-SVN: r271470 --- gcc/fortran/ChangeLog | 7 +++++++ gcc/fortran/intrinsic.texi | 16 ++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index e0439881b0b6..3288bab3a7f2 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,10 @@ +2019-05-21 Janne Blomqvist + + Backport from trunk + PR libfortran/90038 + * intrinsic.texi (EXECUTE_COMMAND_LINE): Explain new + wait=.false. implementation. + 2019-05-19 Paul Thomas Backport from trunk diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi index ee857c62c719..f3f4c0076716 100644 --- a/gcc/fortran/intrinsic.texi +++ b/gcc/fortran/intrinsic.texi @@ -5596,12 +5596,12 @@ end program atomic @code{EXECUTE_COMMAND_LINE} runs a shell command, synchronously or asynchronously. -The @code{COMMAND} argument is passed to the shell and executed, using -the C library's @code{system} call. (The shell is @code{sh} on Unix -systems, and @code{cmd.exe} on Windows.) If @code{WAIT} is present -and has the value false, the execution of the command is asynchronous -if the system supports it; otherwise, the command is executed -synchronously. +The @code{COMMAND} argument is passed to the shell and executed (The +shell is @code{sh} on Unix systems, and @code{cmd.exe} on Windows.). +If @code{WAIT} is present and has the value false, the execution of +the command is asynchronous if the system supports it; otherwise, the +command is executed synchronously using the C library's @code{system} +call. The three last arguments allow the user to get status information. After synchronous execution, @code{EXITSTAT} contains the integer exit code of @@ -5613,6 +5613,10 @@ Note that the @code{system} function need not be thread-safe. It is the responsibility of the user to ensure that @code{system} is not called concurrently. +For asynchronous execution on supported targets, the POSIX +@code{posix_spawn} or @code{fork} functions are used. Also, a signal +handler for the @code{SIGCHLD} signal is installed. + @item @emph{Standard}: Fortran 2008 and later -- 2.47.2