Index: chrome_elf/chrome_elf_main.cc |
diff --git a/chrome_elf/chrome_elf_main.cc b/chrome_elf/chrome_elf_main.cc |
index 772c906f1d4e66d07739f797afb7fc867390ba4d..6d9e42f715f3b501dcf17e401e1541d8efafa0e9 100644 |
--- a/chrome_elf/chrome_elf_main.cc |
+++ b/chrome_elf/chrome_elf_main.cc |
@@ -7,6 +7,7 @@ |
#include "chrome_elf/chrome_elf_main.h" |
#include "chrome_elf/blacklist/blacklist.h" |
+#include "chrome_elf/breakpad.h" |
#include "chrome_elf/ntdll_cache.h" |
void SignalChromeElf() { |
@@ -15,11 +16,23 @@ void SignalChromeElf() { |
BOOL APIENTRY DllMain(HMODULE module, DWORD reason, LPVOID reserved) { |
if (reason == DLL_PROCESS_ATTACH) { |
- InitCache(); |
- blacklist::Initialize(false); // Don't force, abort if beacon is present. |
+ // TODO (caitkp): Do we need this? If so, how do we make it play nice with |
Sigurður Ásgeirsson
2014/02/05 13:58:33
A single function cannot have objects that require
Cait (Slow)
2014/02/07 15:32:02
Not needed anymore as our breakpad client no longe
|
+ // the try catch? |
+ //base::AtExitManager exit_manager; |
+ InitializeCrashReporting(); |
+ |
+ __try { |
+ InitCache(); |
+ blacklist::Initialize(false); // Don't force, abort if beacon is present. |
+ } __except(GenerateCrashDump(GetExceptionInformation())) { |
+ } |
// TODO(csharp): Move additions to the DLL blacklist to a sane place. |
// blacklist::AddDllToBlacklist(L"foo.dll"); |
+ |
+ // TODO(caitkp): We should really de-initialize our breakpad client here, to |
Sigurður Ásgeirsson
2014/02/05 13:58:33
I don't know that this is true.
As-is, you're also
Cait (Slow)
2014/02/07 15:32:02
Did some very unscientific research here, and it s
|
+ // ensure that we don't block Chrome's when it tries to connect in win_main. |
+ |
} |
return TRUE; |