Make Crashpad start asynchronous, and move back to chrome_elf
Crashpad initialization has been reworked to support an asynchronous mode where StartHandler() only calls CreateThread() and does not synchronize with that thread, making it safe to use in DllMain(). So, we can now move it back into chrome_elf to catch earlier crashes. We block much later now in browser startup, before a renderer (i.e. another client that would connect to the handler) will be started. This should not be strictly necessary, but is slightly more conservative as a first pass. This allows for error reporting, and prevents log spew from each renderer that starts up and tries to connect to a nonexistent handler. Also added is a UMA timer to see how long we're blocking startup for by joining with the background thread. This includes an effective revert of https://chromium.googlesource.com/chromium/src/+/f3a5670dd8d42b045d31625dde4a2561b471138f . BUG=655788,656800,565063 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng Review-Url: https://codereview.chromium.org/2475863004 Cr-Commit-Position: refs/heads/master@{#439188}
Showing
Please register or sign in to comment