Index: chrome_elf/chrome_elf_main.cc |
diff --git a/chrome_elf/chrome_elf_main.cc b/chrome_elf/chrome_elf_main.cc |
index 23edaaf2c07c590a8d33b7a5eaaa2f3a58b9c977..926668c54d3015e224004c125cc70f3237fd2253 100644 |
--- a/chrome_elf/chrome_elf_main.cc |
+++ b/chrome_elf/chrome_elf_main.cc |
@@ -14,6 +14,17 @@ |
#include "chrome_elf/blacklist/blacklist.h" |
#include "chrome_elf/crash/crash_helper.h" |
+// This function is a temporary workaround for https://crbug.com/655788. We |
+// need to come up with a better way to initialize crash reporting that can |
+// happen inside DllMain(). |
+void SignalInitializeCrashReporting() { |
+ if (!elf_crash::InitializeCrashReporting()) { |
+#ifdef _DEBUG |
+ assert(false); |
+#endif // _DEBUG |
+ } |
+} |
+ |
void SignalChromeElf() { |
blacklist::ResetBeacon(); |
} |
@@ -37,10 +48,6 @@ BOOL APIENTRY DllMain(HMODULE module, DWORD reason, LPVOID reserved) { |
if (reason == DLL_PROCESS_ATTACH) { |
install_static::InitializeProductDetailsForPrimaryModule(); |
- if (!elf_crash::InitializeCrashReporting()) { |
- assert(false); |
- } |
- |
// CRT on initialization installs an exception filter which calls |
// TerminateProcess. We need to hook CRT's attempt to set an exception. |
elf_crash::DisableSetUnhandledExceptionFilter(); |