summaryrefslogtreecommitdiff
path: root/src/dlls
diff options
context:
space:
mode:
authorMike McLaughlin <mikem@microsoft.com>2016-09-20 15:22:33 -0700
committerGitHub <noreply@github.com>2016-09-20 15:22:33 -0700
commitf29eee4896d490f88e06865916d5821d0fad935a (patch)
tree262342312fc717b24dc691cecdf0773df5f001bb /src/dlls
parent610c0b1cd28b5624f718b739d2eea4c0a44f5adb (diff)
downloadcoreclr-f29eee4896d490f88e06865916d5821d0fad935a.tar.gz
coreclr-f29eee4896d490f88e06865916d5821d0fad935a.tar.bz2
coreclr-f29eee4896d490f88e06865916d5821d0fad935a.zip
Fix launch timing issue in dbgshim found in VS. (#7279)
Issue #7274.
Diffstat (limited to 'src/dlls')
-rw-r--r--src/dlls/dbgshim/dbgshim.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/dlls/dbgshim/dbgshim.cpp b/src/dlls/dbgshim/dbgshim.cpp
index 3c4e951934..4d6dc5a6e3 100644
--- a/src/dlls/dbgshim/dbgshim.cpp
+++ b/src/dlls/dbgshim/dbgshim.cpp
@@ -392,7 +392,7 @@ public:
int numTries = 0;
HRESULT hr;
- while (numTries < 10)
+ while (numTries < 25)
{
// EnumerateCLRs uses the OS API CreateToolhelp32Snapshot which can return ERROR_BAD_LENGTH or
// ERROR_PARTIAL_COPY. If we get either of those, we try wait 1/10th of a second try again (that
@@ -517,7 +517,9 @@ public:
bool coreclrExists = false;
HRESULT hr = InvokeStartupCallback(&coreclrExists);
- if (SUCCEEDED(hr))
+ // Because the target process is suspended on create, the toolhelp apis fail with the below errors even
+ // with the retry logic in InternalEnumerateCLRs.
+ if (SUCCEEDED(hr) || (hr == HRESULT_FROM_WIN32(ERROR_PARTIAL_COPY)) || (hr == HRESULT_FROM_WIN32(ERROR_BAD_LENGTH)))
{
if (!coreclrExists && !m_canceled)
{