mirror of https://github.com/rust-lang/rust.git
Add comments about using debug_assert
This commit is contained in:
parent
e457b77e2a
commit
7b8f93ef4c
|
@ -6,6 +6,8 @@ use crate::thread;
|
|||
/// Reserve stack space for use in stack overflow exceptions.
|
||||
pub unsafe fn reserve_stack() {
|
||||
let result = c::SetThreadStackGuarantee(&mut 0x5000);
|
||||
// Reserving stack space is not critical so we allow it to fail in the released build of libstd.
|
||||
// We still use debug assert here so that CI will test that we haven't made a mistake calling the function.
|
||||
debug_assert_ne!(result, 0, "failed to reserve stack space for exception handling");
|
||||
}
|
||||
|
||||
|
@ -26,6 +28,8 @@ unsafe extern "system" fn vectored_handler(ExceptionInfo: *mut c::EXCEPTION_POIN
|
|||
|
||||
pub unsafe fn init() {
|
||||
let result = c::AddVectoredExceptionHandler(0, Some(vectored_handler));
|
||||
// Similar to the above, adding the stack overflow handler is allowed to fail
|
||||
// but a debug assert is used so CI will still test that it normally works.
|
||||
debug_assert!(!result.is_null(), "failed to install exception handler");
|
||||
// Set the thread stack guarantee for the main thread.
|
||||
reserve_stack();
|
||||
|
|
Loading…
Reference in New Issue