summaryrefslogtreecommitdiff
path: root/library/std
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2021-11-12 19:17:31 +0100
committerGitHub <noreply@github.com>2021-11-12 19:17:31 +0100
commit160602b48526b857ff838708eece72c9db55c95c (patch)
treed27c5c51ee2d879e5e388b4354874af0c0d85bb8 /library/std
parent70532c4503c91d308bf0a1b1b2e1a3e2f5635ced (diff)
parentfe39fb314973f16dcb73b1f6ed8395aaf29299ec (diff)
downloadrust-160602b48526b857ff838708eece72c9db55c95c.tar.gz
Rollup merge of #90704 - ijackson:exitstatus-comments, r=joshtriplett
Unix ExitStatus comments and a tiny docs fix Some nits left over from #88300
Diffstat (limited to 'library/std')
-rw-r--r--library/std/src/os/unix/process.rs2
-rw-r--r--library/std/src/process.rs5
-rw-r--r--library/std/src/sys/unix/process/process_unix.rs3
3 files changed, 9 insertions, 1 deletions
diff --git a/library/std/src/os/unix/process.rs b/library/std/src/os/unix/process.rs
index 01b8303a6c3..855f900430c 100644
--- a/library/std/src/os/unix/process.rs
+++ b/library/std/src/os/unix/process.rs
@@ -207,7 +207,7 @@ impl CommandExt for process::Command {
/// [`ExitStatusError`](process::ExitStatusError).
///
/// On Unix, `ExitStatus` **does not necessarily represent an exit status**, as
-/// passed to the `exit` system call or returned by
+/// passed to the `_exit` system call or returned by
/// [`ExitStatus::code()`](crate::process::ExitStatus::code). It represents **any wait status**
/// as returned by one of the `wait` family of system
/// calls.
diff --git a/library/std/src/process.rs b/library/std/src/process.rs
index 9cc7fc2f035..b4dab41f066 100644
--- a/library/std/src/process.rs
+++ b/library/std/src/process.rs
@@ -1417,6 +1417,11 @@ impl From<fs::File> for Stdio {
///
/// [`status`]: Command::status
/// [`wait`]: Child::wait
+//
+// We speak slightly loosely (here and in various other places in the stdlib docs) about `exit`
+// vs `_exit`. Naming of Unix system calls is not standardised across Unices, so terminology is a
+// matter of convention and tradition. For clarity we usually speak of `exit`, even when we might
+// mean an underlying system call such as `_exit`.
#[derive(PartialEq, Eq, Clone, Copy, Debug)]
#[stable(feature = "process", since = "1.0.0")]
pub struct ExitStatus(imp::ExitStatus);
diff --git a/library/std/src/sys/unix/process/process_unix.rs b/library/std/src/sys/unix/process/process_unix.rs
index 326382d9038..3bf1493f3b8 100644
--- a/library/std/src/sys/unix/process/process_unix.rs
+++ b/library/std/src/sys/unix/process/process_unix.rs
@@ -617,6 +617,9 @@ impl Process {
}
/// Unix exit statuses
+//
+// This is not actually an "exit status" in Unix terminology. Rather, it is a "wait status".
+// See the discussion in comments and doc comments for `std::process::ExitStatus`.
#[derive(PartialEq, Eq, Clone, Copy)]
pub struct ExitStatus(c_int);