summaryrefslogtreecommitdiff
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() {}