diff --git a/src/coreclr/src/debug/di/process.cpp b/src/coreclr/src/debug/di/process.cpp index bb09213c555319..badcd863d47b36 100644 --- a/src/coreclr/src/debug/di/process.cpp +++ b/src/coreclr/src/debug/di/process.cpp @@ -2169,10 +2169,6 @@ HRESULT CordbProcess::QueryInterface(REFIID id, void **pInterface) { *pInterface = static_cast(this); } - else if (id == IID_ICorDebugProcess10) - { - *pInterface = static_cast(this); - } else if (id == IID_ICorDebugProcess11) { *pInterface = static_cast(this); diff --git a/src/coreclr/src/debug/di/rspriv.h b/src/coreclr/src/debug/di/rspriv.h index a42a37d9014127..0874716db873ea 100644 --- a/src/coreclr/src/debug/di/rspriv.h +++ b/src/coreclr/src/debug/di/rspriv.h @@ -2929,7 +2929,6 @@ class CordbProcess : public ICorDebugProcess5, public ICorDebugProcess7, public ICorDebugProcess8, - public ICorDebugProcess10, public ICorDebugProcess11, public IDacDbiInterface::IAllocator, public IDacDbiInterface::IMetaDataLookup, @@ -3140,7 +3139,7 @@ class CordbProcess : COM_METHOD EnableExceptionCallbacksOutsideOfMyCode(BOOL enableExceptionsOutsideOfJMC); //----------------------------------------------------------- - // ICorDebugProcess10 + // ICorDebugProcess10 (To be removed in .NET 6, in a separate cleanup PR) //----------------------------------------------------------- COM_METHOD EnableGCNotificationEvents(BOOL fEnable); diff --git a/src/coreclr/src/vm/threadsuspend.cpp b/src/coreclr/src/vm/threadsuspend.cpp index 1b7ef6745a9cbd..89824f31eaa600 100644 --- a/src/coreclr/src/vm/threadsuspend.cpp +++ b/src/coreclr/src/vm/threadsuspend.cpp @@ -5943,16 +5943,7 @@ void ThreadSuspend::SuspendEE(SUSPEND_REASON reason) // that there is a thread which appears to be stopped at a gc // safe point, but which really is not. If that is the case, // back off and try again. - // - // When the debugger is synchronizing, trying to perform a GC could deadlock. The GC has the - // threadstore lock and synchronization cannot complete until the debugger can get the - // threadstore lock. However the GC can not complete until it sends the BeforeGarbageCollection - // event, and the event can not be sent until the debugger is synchronized. In order to break - // this deadlock cycle the GC must give up the threadstore lock, allow the debugger to synchronize, - // then try again. - // - || (CORDebuggerAttached() && - (g_pDebugInterface->ThreadsAtUnsafePlaces() || g_pDebugInterface->IsSynchronizing())) + || (CORDebuggerAttached() && g_pDebugInterface->ThreadsAtUnsafePlaces()) #endif // DEBUGGING_SUPPORTED ) {