summary refs log tree commit diff
path: root/manual
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2020-04-27 11:38:28 +0200
committerFlorian Weimer <fweimer@redhat.com>2020-04-27 11:38:28 +0200
commit6771af1123d55e08450ccf4553dd0d674b7f099b (patch)
treed77b76d4669163877cecf1dcc1cbd8e759973c28 /manual
parentb3cae39dcbfa2432b3f3aa28854d8ac57f0de1b8 (diff)
downloadglibc-6771af1123d55e08450ccf4553dd0d674b7f099b.tar.gz
glibc-6771af1123d55e08450ccf4553dd0d674b7f099b.tar.xz
glibc-6771af1123d55e08450ccf4553dd0d674b7f099b.zip
manual: Document the fexecve function
Diffstat (limited to 'manual')
-rw-r--r--manual/process.texi13
1 files changed, 13 insertions, 0 deletions
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{}}}