libfortran/90038: Document new wait=.false. implementation
authorJanne Blomqvist <jb@gcc.gnu.org>
Tue, 21 May 2019 15:17:44 +0000 (18:17 +0300)
committerJanne Blomqvist <jb@gcc.gnu.org>
Tue, 21 May 2019 15:17:44 +0000 (18:17 +0300)
2019-05-21  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/90038
* intrinsic.texi (EXECUTE_COMMAND_LINE): Explain new
wait=.false. implementation.

From-SVN: r271468

gcc/fortran/ChangeLog
gcc/fortran/intrinsic.texi

index e5215aa9a9ca826eb89910f7ecd19708cf7e01f3..e6ae6bcbd37f264b4c723c1b0c4a4e552f8ebcff 100644 (file)
@@ -1,3 +1,9 @@
+2019-05-21  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/90038
+       * intrinsic.texi (EXECUTE_COMMAND_LINE): Explain new
+       wait=.false. implementation.
+
 2019-05-20  Mark Eggleston  <markeggleston@codethink.com>
 
        * gfortran.texi: Remove reference to the ASSIGN statement, capitalise
index ee857c62c719cc9c4074248819dc16eef286bc2d..f3f4c0076716c12748709943357d745ac0292e6f 100644 (file)
@@ -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