diff options
author | Aaron Robinson <arobins@microsoft.com> | 2019-05-29 23:51:51 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-29 23:51:51 -0700 |
commit | 5d16005b984b9b27ce59245bca87aa225b2ca0b7 (patch) | |
tree | 88bc97b2cdcbe4cd8afd509908dfe7cee609f599 /src/vm/clrex.h | |
parent | e46ae5921c510309f252af21c2a88d341e4e15ab (diff) | |
download | coreclr-5d16005b984b9b27ce59245bca87aa225b2ca0b7.tar.gz coreclr-5d16005b984b9b27ce59245bca87aa225b2ca0b7.tar.bz2 coreclr-5d16005b984b9b27ce59245bca87aa225b2ca0b7.zip |
Remove all uses of CanRunManagedCode() (#24847)
* Remove all uses of CanRunManagedCode()
Diffstat (limited to 'src/vm/clrex.h')
-rw-r--r-- | src/vm/clrex.h | 66 |
1 files changed, 29 insertions, 37 deletions
diff --git a/src/vm/clrex.h b/src/vm/clrex.h index 040ad2c8f6..e8ef895e9d 100644 --- a/src/vm/clrex.h +++ b/src/vm/clrex.h @@ -971,47 +971,39 @@ LONG CLRNoCatchHandler(EXCEPTION_POINTERS* pExceptionInfo, PVOID pv); // outside unmanaged code. If you want to connect internal pieces // of CLR code, use EX_TRY instead. //=================================================================================== -#define BEGIN_EXTERNAL_ENTRYPOINT(phresult) \ - { \ - HRESULT *__phr = (phresult); \ - *__phr = S_OK; \ - _ASSERTE(GetThread() == NULL || \ - !GetThread()->PreemptiveGCDisabled()); \ - if (!CanRunManagedCode()) \ - { \ - *__phr = E_PROCESS_SHUTDOWN_REENTRY; \ - } \ - else \ - { \ - MAKE_CURRENT_THREAD_AVAILABLE_EX(GetThreadNULLOk()); \ - if (CURRENT_THREAD == NULL) \ - { \ - CURRENT_THREAD = SetupThreadNoThrow(__phr); \ - } \ - if (CURRENT_THREAD != NULL) \ - { \ - EX_TRY_THREAD(CURRENT_THREAD); \ - { \ - -#define END_EXTERNAL_ENTRYPOINT \ - } \ - EX_CATCH_HRESULT(*__phr); \ - } \ - } \ - } \ +#define BEGIN_EXTERNAL_ENTRYPOINT(phresult) \ + { \ + HRESULT *__phr = (phresult); \ + *__phr = S_OK; \ + _ASSERTE(GetThread() == NULL || \ + !GetThread()->PreemptiveGCDisabled()); \ + MAKE_CURRENT_THREAD_AVAILABLE_EX(GetThreadNULLOk()); \ + if (CURRENT_THREAD == NULL) \ + { \ + CURRENT_THREAD = SetupThreadNoThrow(__phr); \ + } \ + if (CURRENT_THREAD != NULL) \ + { \ + EX_TRY_THREAD(CURRENT_THREAD); \ + { \ + +#define END_EXTERNAL_ENTRYPOINT \ + } \ + EX_CATCH_HRESULT(*__phr); \ + } \ + } \ // This macro should be used at the entry points (e.g. COM interop boundaries) // where CE's are not expected to get swallowed. #define END_EXTERNAL_ENTRYPOINT_RETHROW_CORRUPTING_EXCEPTIONS_EX(fCond) \ - } \ - EX_CATCH \ - { \ - *__phr = GET_EXCEPTION()->GetHR(); \ - } \ - EX_END_CATCH(RethrowCorruptingExceptionsEx(fCond)); \ - } \ - } \ - } \ + } \ + EX_CATCH \ + { \ + *__phr = GET_EXCEPTION()->GetHR(); \ + } \ + EX_END_CATCH(RethrowCorruptingExceptionsEx(fCond)); \ + } \ + } \ // This macro should be used at the entry points (e.g. COM interop boundaries) // where CE's are not expected to get swallowed. |