diff options
| author | Simonas Kazlauskas <git@kazlauskas.me> | 2016-12-21 21:42:07 +0200 |
|---|---|---|
| committer | Simonas Kazlauskas <git@kazlauskas.me> | 2017-01-19 21:11:32 +0200 |
| commit | c2eab73788a066384f3d1facca1ca7b9fc214962 (patch) | |
| tree | beb3b3684a0d68360fe8e017537ba4f6996acbbb /src/libstd/process.rs | |
| parent | 3dcb28842048ad51394f05473d1f9fb9ed8d143a (diff) | |
| download | rust-c2eab73788a066384f3d1facca1ca7b9fc214962.tar.gz rust-c2eab73788a066384f3d1facca1ca7b9fc214962.zip | |
Expand documentation of process::exit and exec
Show a conventional way to use process::exit when destructors are considered important and also mention that the same caveats wrt destructors apply to exec as well.
Diffstat (limited to 'src/libstd/process.rs')
| -rw-r--r-- | src/libstd/process.rs | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/libstd/process.rs b/src/libstd/process.rs index aa76b792535..011d4d81b89 100644 --- a/src/libstd/process.rs +++ b/src/libstd/process.rs @@ -924,10 +924,27 @@ impl Child { /// /// # Examples /// +/// Due to this function’s behavior regarding destructors, a conventional way +/// to use the function is to extract the actual computation to another +/// function and compute the exit code from its return value: +/// /// ``` -/// use std::process; +/// use std::io::{self, Write}; +/// +/// fn run_app() -> Result<(), ()> { +/// // Application logic here +/// Ok(()) +/// } /// -/// process::exit(0); +/// fn main() { +/// ::std::process::exit(match run_app() { +/// Ok(_) => 0, +/// Err(err) => { +/// writeln!(io::stderr(), "error: {:?}", err).unwrap(); +/// 1 +/// } +/// }); +/// } /// ``` /// /// Due to [platform-specific behavior], the exit code for this example will be |
