mirror of
https://github.com/rust-lang/rust.git
synced 2025-01-13 08:13:21 +00:00
parent
b9ba643b72
commit
1e01f7f470
@ -278,7 +278,7 @@ pub mod sync;
|
||||
#[path = "sys/common/mod.rs"] mod sys_common;
|
||||
|
||||
pub mod rt;
|
||||
mod failure;
|
||||
mod panicking;
|
||||
|
||||
// Documentation for primitive types
|
||||
|
||||
|
@ -30,7 +30,7 @@ use self::StdSource::*;
|
||||
use boxed::Box;
|
||||
use cell::RefCell;
|
||||
use clone::Clone;
|
||||
use failure::LOCAL_STDERR;
|
||||
use panicking::LOCAL_STDERR;
|
||||
use fmt;
|
||||
use old_io::{Reader, Writer, IoResult, IoError, OtherIoError, Buffer,
|
||||
standard_error, EndOfFile, LineBufferedWriter, BufferedReader};
|
||||
|
@ -33,7 +33,7 @@ impl Writer for Stdio {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn on_fail(obj: &(Any+Send), file: &'static str, line: uint) {
|
||||
pub fn on_panic(obj: &(Any+Send), file: &'static str, line: uint) {
|
||||
let msg = match obj.downcast_ref::<&'static str>() {
|
||||
Some(s) => *s,
|
||||
None => match obj.downcast_ref::<String>() {
|
@ -62,7 +62,7 @@ use prelude::v1::*;
|
||||
use any::Any;
|
||||
use cell::Cell;
|
||||
use cmp;
|
||||
use failure;
|
||||
use panicking;
|
||||
use fmt;
|
||||
use intrinsics;
|
||||
use libc::c_void;
|
||||
@ -534,10 +534,10 @@ pub fn begin_unwind<M: Any + Send>(msg: M, file_line: &(&'static str, uint)) ->
|
||||
/// }` from ~1900/3700 (-O/no opts) to 180/590.
|
||||
#[inline(never)] #[cold] // this is the slow path, please never inline this
|
||||
fn begin_unwind_inner(msg: Box<Any + Send>, file_line: &(&'static str, uint)) -> ! {
|
||||
// Make sure the default failure handler is registered before we look at the
|
||||
// Make sure the default panic handler is registered before we look at the
|
||||
// callbacks.
|
||||
static INIT: Once = ONCE_INIT;
|
||||
INIT.call_once(|| unsafe { register(failure::on_fail); });
|
||||
INIT.call_once(|| unsafe { register(panicking::on_panic); });
|
||||
|
||||
// First, invoke call the user-defined callbacks triggered on thread panic.
|
||||
//
|
||||
|
Loading…
Reference in New Issue
Block a user