summaryrefslogtreecommitdiffstats
path: root/chrome_elf/chrome_elf_main.cc
blob: 989493a122e13470120176b3940036c836775672 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <windows.h>

#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() {
  blacklist::ResetBeacon();
}

BOOL APIENTRY DllMain(HMODULE module, DWORD reason, LPVOID reserved) {
  if (reason == DLL_PROCESS_ATTACH) {
    InitializeCrashReporting();

    __try {
      InitCache();
      blacklist::Initialize(false);  // Don't force, abort if beacon is present.
    } __except(GenerateCrashDump(GetExceptionInformation())) {
    }
  }

  return TRUE;
}