summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike McLaughlin <mikem@microsoft.com>2015-12-11 21:20:32 -0800
committerMike McLaughlin <mikem@microsoft.com>2015-12-11 21:20:32 -0800
commit7fded4942276b6a5d7b230cc29fcd2e6fdab979c (patch)
treef72173c0e7316518e5dd01750a4009f72babe6b6
parent3a2ed540ef6f2fb7810ff7cc6a237474acc39e8f (diff)
parent3ec02038b7f90a6bf79c51baf1a04873c831871a (diff)
downloadcoreclr-7fded4942276b6a5d7b230cc29fcd2e6fdab979c.tar.gz
coreclr-7fded4942276b6a5d7b230cc29fcd2e6fdab979c.tar.bz2
coreclr-7fded4942276b6a5d7b230cc29fcd2e6fdab979c.zip
Merge pull request #2318 from mikem8361/pipefile
Fix pipe file cleanup in /tmp directory.
-rw-r--r--src/debug/shared/dbgtransportsession.cpp6
-rw-r--r--src/vm/ceemain.cpp6
2 files changed, 7 insertions, 5 deletions
diff --git a/src/debug/shared/dbgtransportsession.cpp b/src/debug/shared/dbgtransportsession.cpp
index ad9931fd57..2b17f6d6d8 100644
--- a/src/debug/shared/dbgtransportsession.cpp
+++ b/src/debug/shared/dbgtransportsession.cpp
@@ -160,7 +160,7 @@ void DbgTransportSession::Shutdown()
SessionState ePreviousState = m_eState;
m_eState = SS_Closed;
- if ((ePreviousState != SS_Opening_NC) && (ePreviousState != SS_Resync_NC) && (ePreviousState != SS_Closed))
+ if (ePreviousState != SS_Closed)
{
m_pipe.Disconnect();
}
@@ -171,10 +171,6 @@ void DbgTransportSession::Shutdown()
// Signal the m_hSessionOpenEvent now to quickly error out any callers of WaitForSessionToOpen().
SetEvent(m_hSessionOpenEvent);
#endif // RIGHT_SIDE_COMPILE
-
- // Now let the transport thread shut itself down cleanly. This will take care of emptying the send queue
- // as well.
- WaitForSingleObject(m_hTransportThread, INFINITE);
}
// No other threads are now using session resources. We're free to deallocate them as we wish (if they
diff --git a/src/vm/ceemain.cpp b/src/vm/ceemain.cpp
index a4db91c588..100ee70847 100644
--- a/src/vm/ceemain.cpp
+++ b/src/vm/ceemain.cpp
@@ -1952,6 +1952,12 @@ void STDMETHODCALLTYPE EEShutDownHelper(BOOL fIsDllUnloading)
FastInterlockExchange((LONG*)&g_fForbidEnterEE, TRUE);
+#if defined(DEBUGGING_SUPPORTED) && defined(FEATURE_PAL)
+ // Terminate the debugging services in the first phase for PAL based platforms
+ // because EEDllMain's DLL_PROCESS_DETACH is NOT going to be called.
+ TerminateDebugger();
+#endif // DEBUGGING_SUPPORTED && FEATURE_PAL
+
if (g_fProcessDetach)
{
ThreadStore::TrapReturningThreads(TRUE);