DescriptionStart 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.
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=188207
Patch Set 1 : #
Total comments: 5
Patch Set 2 : rejiggered and made testable; tests pending #Patch Set 3 : stop crash reporting when the module is no longer locked. #
Total comments: 10
Patch Set 4 : proper pinning #Patch Set 5 : revert r70898 #
Total comments: 4
Patch Set 6 : pin_module #Patch Set 7 : unit test #
Messages
Total messages: 16 (0 generated)
|