1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include <windows.h>
6
7#include "chrome_elf/chrome_elf_main.h"
8
9#include "chrome_elf/blacklist/blacklist.h"
10#include "chrome_elf/breakpad.h"
11#include "chrome_elf/ntdll_cache.h"
12
13void SignalChromeElf() {
14  blacklist::ResetBeacon();
15}
16
17BOOL APIENTRY DllMain(HMODULE module, DWORD reason, LPVOID reserved) {
18  if (reason == DLL_PROCESS_ATTACH) {
19    InitializeCrashReporting();
20
21    __try {
22      InitCache();
23      blacklist::Initialize(false);  // Don't force, abort if beacon is present.
24    } __except(GenerateCrashDump(GetExceptionInformation())) {
25    }
26  }
27
28  return TRUE;
29}
30