Commit 694bff4
committed
config: Adjust process.args to cite POSIX's execvp
This punts the awkward-to-enforce "MUST be available at the given path
inside of the rootfs" to the kernel, which will do a much better job
of enforcing that constraint than runtime code or a static validator.
It also punts on the PATH reference to POSIX, which already covers the
PATH lookup for 'file' arguments.
The extension is necessary because POSIX allows argv to be empty. In
the DESCRIPTION:
The argument arg0 should point to a filename that is associated with
the process being started by one of the exec functions.
And in RATIONALE:
Early proposals required that the value of argc passed to main() be
"one or greater". This was driven by the same requirement in drafts
of the ISO C standard. In fact, historical implementations have
passed a value of zero when no arguments are supplied to the caller
of the exec functions. This requirement was removed from the ISO C
standard and subsequently removed from this volume of IEEE Std
1003.1-2001 as well. The wording, in particular the use of the word
should, requires a Strictly Conforming POSIX Application to pass at
least one argument to the exec function, thus guaranteeing that argc
be one or greater when invoked by such an application. In fact,
this is good practice, since many existing applications reference
argv[0] without first checking the value of argc.
But with an empty 'args' we will have no process to call (since
process lacks an explicit 'file' analog).
I chose the 2001 POSIX spec for consistency with the existing
reference (which landed in 7ac41c6, config.md: reformat into a
standard style, 2015-06-30, which did not motivate it's use of an
older standard).
The "platform-appropriate way" wording comes from Rob Dolin [1], and
gives space for non-POSIX systems to define their own args semantics
(although that seems like it would be a terrible idea ;).
[1]: http://ircbot.wl.linuxfoundation.org/meetings/opencontainers/2016/opencontainers.2016-05-18-17.01.log.html#l-54
Signed-off-by: W. Trevor King <[email protected]>1 parent 4801054 commit 694bff4
1 file changed
+5
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
94 | | - | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
95 | 98 | | |
96 | 99 | | |
97 | 100 | | |
| |||
665 | 668 | | |
666 | 669 | | |
667 | 670 | | |
| 671 | + | |
668 | 672 | | |
669 | 673 | | |
0 commit comments