Skip to content

Commit a8d3163

Browse files
authored
Update posix.h
1 parent 7af3d5c commit a8d3163

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

  • include/fast_io_hosted/process/process

include/fast_io_hosted/process/process/posix.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ namespace fast_io
88

99
namespace posix
1010
{
11+
// The statement about argu[] and enopl] being constants is included to make explicit to future writers of language bindings that these objects are completely constant.
12+
// Due toa limitation of the ISOC standard, it is not possible to state that idea in standard C. Specifying two levels of const-qualification for the argol] and enopll
13+
// parameters for the exec functions may seem to be the natural choice, given that these functions do not modify either the array of pointers or the characters to which the
14+
// function points, but this would disallow existing correct code. Instead, only the array of pointers is noted as constant.
15+
1116
#if defined(__DARWIN_C_LEVEL) || defined(__MSDOS__)
1217
extern int libc_fexecve(int fd, char *const *argv, char *const *envp) noexcept __asm__("_fexecve");
1318
extern int libc_execveat(int dirfd, char const *pathname, char const *const *argv, char const *const *envp, int flags) noexcept __asm__("_execveat");

0 commit comments

Comments
 (0)