diff options
author | grt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-14 21:52:37 +0000 |
---|---|---|
committer | grt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-14 21:52:37 +0000 |
commit | ea8ab2aa7cb4e3b441fa6df657d140d84e946c8e (patch) | |
tree | a4110812afb096198beb54635c24f348f71587cc /breakpad/breakpad_handler.gypi | |
parent | 222885dd16eb6cf90212adabdecab51cafa529ca (diff) | |
download | chromium_src-ea8ab2aa7cb4e3b441fa6df657d140d84e946c8e.zip chromium_src-ea8ab2aa7cb4e3b441fa6df657d140d84e946c8e.tar.gz chromium_src-ea8ab2aa7cb4e3b441fa6df657d140d84e946c8e.tar.bz2 |
Start and stop crash reporting outside of the loader lock.
Instead of using DllMain to start/stop crash reporting, it is now done by way of a specialization of a new ScopedInitializationManager template. Instances of this specialization are created on the stack in entrypoints to the DLL (for registration or to get a COM object). The lifetime of crash reporting is ordinarily bound to the lifetime of the ATL module. The exception to this is when the module is pinned, at which point crash reporting is also pinned.
This change removes the breakpad_handler_dll target (by reverting http://crrev.com/70898) since it is no longer needed.
BUG=163455
TEST=install chrome frame and notice that installation doesn't block for 1 minute while npchrome_frame.dll is registered.
Review URL: https://chromiumcodereview.appspot.com/12521002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188207 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'breakpad/breakpad_handler.gypi')
-rw-r--r-- | breakpad/breakpad_handler.gypi | 30 |
1 files changed, 4 insertions, 26 deletions
diff --git a/breakpad/breakpad_handler.gypi b/breakpad/breakpad_handler.gypi index 4764f8d..540e87e 100644 --- a/breakpad/breakpad_handler.gypi +++ b/breakpad/breakpad_handler.gypi @@ -28,6 +28,10 @@ 'include_dirs': [ 'src', ], + 'defines': [ + # Avoid the TerminateThread Application Verifier Failure. + 'BREAKPAD_NO_TERMINATE_THREAD', + ], }], ], }, @@ -47,28 +51,6 @@ 'src', ], }, - 'defines': [ - # Avoid the TerminateThread Application Verifier Failure. - 'BREAKPAD_NO_TERMINATE_THREAD', - ], - }, - { - # This alternate breakpad target builds a breakpad that is suitable - # for use with a DLL. It explicitly does NOT define - # BREAKPAD_NO_TERMINATE_THREAD as that define makes breakpad crash - # when created and destroyed in DllMain. - 'target_name': 'breakpad_handler_dll', - 'type': 'static_library', - 'variables': { - 'breakpad_handler_target': 1, - }, - # TODO(gregoryd): direct_dependent_settings should be shared with the - # 64-bit target, but it doesn't work due to a bug in gyp - 'direct_dependent_settings': { - 'include_dirs': [ - 'src', - ], - }, }, ], }], @@ -87,10 +69,6 @@ 'src', ], }, - 'defines': [ - # Avoid the TerminateThread Application Verifier Failure. - 'BREAKPAD_NO_TERMINATE_THREAD', - ], 'configurations': { 'Common_Base': { 'msvs_target_platform': 'x64', |