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
|
||||
/// 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
|
||||
/// to run.
|
||||
///
|
||||
@ -1162,6 +1169,8 @@ pub fn exit(code: i32) -> ! {
|
||||
/// // the destructor implemented for HasDrop will never get run
|
||||
/// }
|
||||
/// ```
|
||||
///
|
||||
/// [`panic!`]: ../../std/macro.panic.html
|
||||
#[stable(feature = "process_abort", since = "1.17.0")]
|
||||
pub fn abort() -> ! {
|
||||
unsafe { ::sys::abort_internal() };
|
||||
|
Loading…
Reference in New Issue
Block a user