diff --git a/src/coreclr/vm/comsynchronizable.cpp b/src/coreclr/vm/comsynchronizable.cpp index 952e38989d8fbc..c4c414a7ebda72 100644 --- a/src/coreclr/vm/comsynchronizable.cpp +++ b/src/coreclr/vm/comsynchronizable.cpp @@ -137,32 +137,6 @@ static void KickOffThread_Worker(LPVOID ptr) CALL_MANAGED_METHOD_NORET(args); } -// Helper to avoid two EX_TRY/EX_CATCH blocks in one function -static void PulseAllHelper(Thread* pThread) -{ - CONTRACTL - { - GC_TRIGGERS; - DISABLED(NOTHROW); - MODE_COOPERATIVE; - } - CONTRACTL_END; - - EX_TRY - { - // GetExposedObject() will either throw, or we have a valid object. Note - // that we re-acquire it each time, since it may move during calls. - pThread->GetExposedObject()->EnterObjMonitor(); - pThread->GetExposedObject()->PulseAll(); - pThread->GetExposedObject()->LeaveObjMonitor(); - } - EX_CATCH - { - // just keep going... - } - EX_END_CATCH -} - // When an exposed thread is started by Win32, this is where it starts. static ULONG WINAPI KickOffThread(void* pass) { @@ -203,8 +177,6 @@ static ULONG WINAPI KickOffThread(void* pass) ManagedThreadBase::KickOff(KickOffThread_Worker, NULL); - PulseAllHelper(pThread); - GCX_PREEMP_NO_DTOR(); pThread->ClearThreadCPUGroupAffinity(); @@ -295,7 +267,6 @@ extern "C" void QCALLTYPE ThreadNative_Start(QCall::ThreadHandle thread, int thr { GCX_COOP(); - PulseAllHelper(pNewThread); pNewThread->HandleThreadStartupFailure(); }