Explain difference between panic! and abort in abort docs
As per #29370
This commit is contained in:
parent
6dfa45d2ed
commit
7ab20c850e
@ -1124,7 +1124,14 @@ pub fn exit(code: i32) -> ! {
|
|||||||
///
|
///
|
||||||
/// Note that because this function never returns, and that it terminates the
|
/// Note that because this function never returns, and that it terminates the
|
||||||
/// process, no destructors on the current stack or any other thread's stack
|
/// process, no destructors on the current stack or any other thread's stack
|
||||||
/// will be run. If a clean shutdown is needed it is recommended to only call
|
/// will be run.
|
||||||
|
///
|
||||||
|
/// This is in contrast to the default behaviour of [`panic!`] which unwinds
|
||||||
|
/// the current thread's stack and calls all destructors.
|
||||||
|
/// When `panic="abort"` is set, either as an argument to `rustc` or in a
|
||||||
|
/// crate's Cargo.toml, [`panic!`] and `abort` are equivalent.
|
||||||
|
///
|
||||||
|
/// If a clean shutdown is needed it is recommended to only call
|
||||||
/// this function at a known point where there are no more destructors left
|
/// this function at a known point where there are no more destructors left
|
||||||
/// to run.
|
/// to run.
|
||||||
///
|
///
|
||||||
@ -1162,6 +1169,8 @@ pub fn exit(code: i32) -> ! {
|
|||||||
/// // the destructor implemented for HasDrop will never get run
|
/// // the destructor implemented for HasDrop will never get run
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
|
///
|
||||||
|
/// [`panic!`]: ../../std/macro.panic.html
|
||||||
#[stable(feature = "process_abort", since = "1.17.0")]
|
#[stable(feature = "process_abort", since = "1.17.0")]
|
||||||
pub fn abort() -> ! {
|
pub fn abort() -> ! {
|
||||||
unsafe { ::sys::abort_internal() };
|
unsafe { ::sys::abort_internal() };
|
||||||
|
Loading…
Reference in New Issue
Block a user