summaryrefslogtreecommitdiff
path: root/src/vm/tieredcompilation.h
diff options
context:
space:
mode:
authorKoundinya Veluri <kouvel@users.noreply.github.com>2018-03-06 11:42:13 -0800
committerGitHub <noreply@github.com>2018-03-06 11:42:13 -0800
commit88e9fb63e5e49ce72a50e2e677fa74d951dc5057 (patch)
tree9762da02b78efeb1bb532ab63063204520f8b0b1 /src/vm/tieredcompilation.h
parent063e8d07f80c8e7e026e42b52cbe9addf50c884d (diff)
downloadcoreclr-88e9fb63e5e49ce72a50e2e677fa74d951dc5057.tar.gz
coreclr-88e9fb63e5e49ce72a50e2e677fa74d951dc5057.tar.bz2
coreclr-88e9fb63e5e49ce72a50e2e677fa74d951dc5057.zip
Fix hang on Ctrl+C when tiering is enabled (#16719)
Fix hang on Ctrl+C when tiering is enabled - When the work thread count is nonzero at the time of Ctrl+C, by the time `TieredCompilationManager::Shutdown(BOOL)` runs (during `DllMain` for process detach), the background worker thread has already been torn down abruptly and it does not get a chance to exit gracefully and set the event, and Shutdown() hangs the process waiting for the event forever. - It looks like there is no benefit to waiting for the work to complete, fixed by removing the wait and the event - In the MusicStore benchmark it looks like the arch folder was missing in the 'publish' folder path. In case there is a difference in bin directory layout between the CI dotnet and current dotnet, changed to check for both paths.
Diffstat (limited to 'src/vm/tieredcompilation.h')
-rw-r--r--src/vm/tieredcompilation.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/vm/tieredcompilation.h b/src/vm/tieredcompilation.h
index 95dbb741fc..2665ad4abf 100644
--- a/src/vm/tieredcompilation.h
+++ b/src/vm/tieredcompilation.h
@@ -32,8 +32,7 @@ public:
void OnMethodCalled(MethodDesc* pMethodDesc, DWORD currentCallCount, BOOL* shouldStopCountingCallsRef, BOOL* wasPromotedToTier1Ref);
void OnMethodCallCountingStoppedWithoutTier1Promotion(MethodDesc* pMethodDesc);
void AsyncPromoteMethodToTier1(MethodDesc* pMethodDesc);
- static void ShutdownAllDomains();
- void Shutdown(BOOL fBlockUntilAsyncWorkIsComplete);
+ void Shutdown();
static CORJIT_FLAGS GetJitFlags(NativeCodeVersion nativeCodeVersion);
private: