diff --git a/src/gc/env/gcenv.base.h b/src/gc/env/gcenv.base.h index 2ce07ef157aa..a4befca09ede 100644 --- a/src/gc/env/gcenv.base.h +++ b/src/gc/env/gcenv.base.h @@ -65,6 +65,7 @@ inline HRESULT HRESULT_FROM_WIN32(unsigned long x) #define E_UNEXPECTED 0x8000FFFF #define E_NOTIMPL 0x80004001 #define E_INVALIDARG 0x80070057 +#define COR_E_EXECUTIONENGINE 0x80131506 #define NOERROR 0x0 #define ERROR_TIMEOUT 1460 diff --git a/src/gc/gcee.cpp b/src/gc/gcee.cpp index a736a596e798..889f9409731b 100644 --- a/src/gc/gcee.cpp +++ b/src/gc/gcee.cpp @@ -408,12 +408,8 @@ uint32_t GCHeap::WaitUntilGCComplete(bool bConsiderGCStart) dwWaitResult = WaitForGCEvent->Wait(DETECT_DEADLOCK_TIMEOUT, FALSE ); if (dwWaitResult == WAIT_TIMEOUT) { - // Even in retail, stop in the debugger if available. Ideally, the - // following would use DebugBreak, but debspew.h makes this a null - // macro in retail. Note that in debug, we don't use the debspew.h - // macros because these take a critical section that may have been - // taken by a suspended thread. - FreeBuildDebugBreak(); + // Even in retail, stop in the debugger if available. + GCToOSInterface::DebugBreak(); goto BlockAgain; } diff --git a/src/gc/gcpriv.h b/src/gc/gcpriv.h index 7bd688327195..108045cd37c6 100644 --- a/src/gc/gcpriv.h +++ b/src/gc/gcpriv.h @@ -28,7 +28,7 @@ inline void FATAL_GC_ERROR() GCToOSInterface::DebugBreak(); #endif // DACCESS_COMPILE _ASSERTE(!"Fatal Error in GC."); - EEPOLICY_HANDLE_FATAL_ERROR(COR_E_EXECUTIONENGINE); + GCToEEInterface::HandleFatalError(COR_E_EXECUTIONENGINE); } #ifdef _MSC_VER