public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] manual: Document the fexecve function
@ 2020-04-27  9:39 Florian Weimer
  2020-04-28 17:25 ` Florian Weimer
  2020-04-29  6:00 ` Michael Kerrisk
  0 siblings, 2 replies; 4+ messages in thread
From: Florian Weimer @ 2020-04-27  9:39 UTC (permalink / raw)
  To: libc-alpha

-----
 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{}}}

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] manual: Document the fexecve function
  2020-04-27  9:39 [PATCH] manual: Document the fexecve function Florian Weimer
@ 2020-04-28 17:25 ` Florian Weimer
  2020-04-29  6:00 ` Michael Kerrisk
  1 sibling, 0 replies; 4+ messages in thread
From: Florian Weimer @ 2020-04-28 17:25 UTC (permalink / raw)
  To: libc-alpha

* 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>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] manual: Document the fexecve function
  2020-04-27  9:39 [PATCH] manual: Document the fexecve function Florian Weimer
  2020-04-28 17:25 ` Florian Weimer
@ 2020-04-29  6:00 ` Michael Kerrisk
  2020-04-29  8:16   ` Florian Weimer
  1 sibling, 1 reply; 4+ messages in thread
From: Michael Kerrisk @ 2020-04-29  6:00 UTC (permalink / raw)
  To: Florian Weimer; +Cc: libc-alpha, Michael Kerrisk-manpages

> +@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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] manual: Document the fexecve function
  2020-04-29  6:00 ` Michael Kerrisk
@ 2020-04-29  8:16   ` Florian Weimer
  0 siblings, 0 replies; 4+ messages in thread
From: Florian Weimer @ 2020-04-29  8:16 UTC (permalink / raw)
  To: Michael Kerrisk; +Cc: libc-alpha

* 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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-04-29  8:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-27  9:39 [PATCH] manual: Document the fexecve function Florian Weimer
2020-04-28 17:25 ` Florian Weimer
2020-04-29  6:00 ` Michael Kerrisk
2020-04-29  8:16   ` Florian Weimer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).