diff mbox series

manual: Document the fexecve function

Message ID 871ro9z2rv.fsf@mid.deneb.enyo.de
State New
Headers show
Series manual: Document the fexecve function | expand

Commit Message

Florian Weimer April 27, 2020, 9:39 a.m. UTC
-----
 manual/process.texi | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Comments

Florian Weimer April 28, 2020, 5:25 p.m. UTC | #1
* Florian Weimer:

> -----
>  manual/process.texi | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
>
> diff --git a/manual/process.texi b/manual/process.texi
> index 5728bde2cb..b20ad26cbf 100644
> --- a/manual/process.texi
> +++ b/manual/process.texi
> @@ -405,6 +405,19 @@ be an array of strings in the same format as for the @code{environ}
>  variable; see @ref{Environment Access}.
>  @end deftypefun
>  
> +@deftypefun int fexecve (int @var{fd},  char *const @var{argv}@t{[]}, char *const @var{env}@t{[]})
> +@standards{POSIX.1, unistd.h}
> +@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
> +This is similar to @code{execve}, but instead identifying the progam
> +executable by its pathname, the file descriptor @var{fd} is used.  The
> +descriptor must have been opened with the @code{O_RDONLY} flag or (on
> +Linux) the @code{O_PATH} flag.
> +
> +On Linux, @code{fexecve} can fail with an error of @code{ENOSYS} if
> +@file{/proc} has not been mounted and the kernel lacks support for the
> +underlying @code{execveat} system call.
> +@end deftypefun
> +
>  @deftypefun int execle (const char *@var{filename}, const char *@var{arg0}, @dots{}, char *const @var{env}@t{[]})
>  @standards{POSIX.1, unistd.h}
>  @safety{@prelim{}@mtsafe{}@asunsafe{@ascuheap{}}@acunsafe{@acsmem{}}}

I pushed this by accident, but Joseph has reviewed the patch here:

  <https://sourceware.org/pipermail/libc-alpha/2020-April/113290.html>
Michael Kerrisk \(man-pages\) April 29, 2020, 6 a.m. UTC | #2
> +@deftypefun int fexecve (int @var{fd},  char *const @var{argv}@t{[]}, char *const @var{env}@t{[]})
> +@standards{POSIX.1, unistd.h}
> +@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
> +This is similar to @code{execve}, but instead identifying the progam

s/instead/instead of/
s/progam/program/

Cheers,

Michael
Florian Weimer April 29, 2020, 8:16 a.m. UTC | #3
* Michael Kerrisk:

>> +@deftypefun int fexecve (int @var{fd},  char *const @var{argv}@t{[]}, char *const @var{env}@t{[]})
>> +@standards{POSIX.1, unistd.h}
>> +@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
>> +This is similar to @code{execve}, but instead identifying the progam
>
> s/instead/instead of/
> s/progam/program/

Thanks.  Here's what I'm going to push.

8<------------------------------------------------------------------8<
Subject: manual: Fix typos in the fexecve description

Reported by Michael Kerrisk.

-----
 manual/process.texi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/manual/process.texi b/manual/process.texi
index b20ad26cbf..54e65f76c6 100644
--- a/manual/process.texi
+++ b/manual/process.texi
@@ -408,7 +408,7 @@ variable; see @ref{Environment Access}.
 @deftypefun int fexecve (int @var{fd},  char *const @var{argv}@t{[]}, char *const @var{env}@t{[]})
 @standards{POSIX.1, unistd.h}
 @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
-This is similar to @code{execve}, but instead identifying the progam
+This is similar to @code{execve}, but instead of identifying the program
 executable by its pathname, the file descriptor @var{fd} is used.  The
 descriptor must have been opened with the @code{O_RDONLY} flag or (on
 Linux) the @code{O_PATH} flag.
diff mbox series

Patch

diff --git a/manual/process.texi b/manual/process.texi
index 5728bde2cb..b20ad26cbf 100644
--- a/manual/process.texi
+++ b/manual/process.texi
@@ -405,6 +405,19 @@  be an array of strings in the same format as for the @code{environ}
 variable; see @ref{Environment Access}.
 @end deftypefun
 
+@deftypefun int fexecve (int @var{fd},  char *const @var{argv}@t{[]}, char *const @var{env}@t{[]})
+@standards{POSIX.1, unistd.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+This is similar to @code{execve}, but instead identifying the progam
+executable by its pathname, the file descriptor @var{fd} is used.  The
+descriptor must have been opened with the @code{O_RDONLY} flag or (on
+Linux) the @code{O_PATH} flag.
+
+On Linux, @code{fexecve} can fail with an error of @code{ENOSYS} if
+@file{/proc} has not been mounted and the kernel lacks support for the
+underlying @code{execveat} system call.
+@end deftypefun
+
 @deftypefun int execle (const char *@var{filename}, const char *@var{arg0}, @dots{}, char *const @var{env}@t{[]})
 @standards{POSIX.1, unistd.h}
 @safety{@prelim{}@mtsafe{}@asunsafe{@ascuheap{}}@acunsafe{@acsmem{}}}