about summary refs log tree commit diff
path: root/src/libstd/sys/windows/stack_overflow.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstd/sys/windows/stack_overflow.rs')
-rw-r--r--src/libstd/sys/windows/stack_overflow.rs41
1 files changed, 0 insertions, 41 deletions
diff --git a/src/libstd/sys/windows/stack_overflow.rs b/src/libstd/sys/windows/stack_overflow.rs
deleted file mode 100644
index 187ad4e66c3..00000000000
--- a/src/libstd/sys/windows/stack_overflow.rs
+++ /dev/null
@@ -1,41 +0,0 @@
-#![cfg_attr(test, allow(dead_code))]
-
-use crate::sys::c;
-use crate::sys_common::util::report_overflow;
-
-pub struct Handler;
-
-impl Handler {
-    pub unsafe fn new() -> Handler {
-        // This API isn't available on XP, so don't panic in that case and just
-        // pray it works out ok.
-        if c::SetThreadStackGuarantee(&mut 0x5000) == 0 {
-            if c::GetLastError() as u32 != c::ERROR_CALL_NOT_IMPLEMENTED as u32 {
-                panic!("failed to reserve stack space for exception handling");
-            }
-        }
-        Handler
-    }
-}
-
-extern "system" fn vectored_handler(ExceptionInfo: *mut c::EXCEPTION_POINTERS) -> c::LONG {
-    unsafe {
-        let rec = &(*(*ExceptionInfo).ExceptionRecord);
-        let code = rec.ExceptionCode;
-
-        if code == c::EXCEPTION_STACK_OVERFLOW {
-            report_overflow();
-        }
-        c::EXCEPTION_CONTINUE_SEARCH
-    }
-}
-
-pub unsafe fn init() {
-    if c::AddVectoredExceptionHandler(0, vectored_handler).is_null() {
-        panic!("failed to install exception handler");
-    }
-    // Set the thread stack guarantee for the main thread.
-    let _h = Handler::new();
-}
-
-pub unsafe fn cleanup() {}