From 1a815b1822c1ee00a3e48f68d445598c576d9edf Mon Sep 17 00:00:00 2001 From: Janne Blomqvist Date: Tue, 21 May 2019 18:17:44 +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: r271468 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/intrinsic.texi | 16 ++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index e5215aa9a9c..e6ae6bcbd37 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2019-05-21 Janne Blomqvist + + PR libfortran/90038 + * intrinsic.texi (EXECUTE_COMMAND_LINE): Explain new + wait=.false. implementation. + 2019-05-20 Mark Eggleston * gfortran.texi: Remove reference to the ASSIGN statement, capitalise diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi index ee857c62c71..f3f4c007671 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.30.2