mirror of
https://github.com/chromium/crashpad.git
synced 2024-12-26 23:01:05 +08:00
Joshua Peraza
fd732953ce
linux: handle multi-threaded crashes
Handle multiple simultaneous crashes among threads by having the first crashing thread set an atomic flag and subsequently crashing threads check the flag before requesting a dump. If a dump has already been requested, the threads pause on a futex with a timeout in case the crashing thread crashes again or otherwise fails to WakeThreads(). The thread_local disabled_for_thread_ is removed and combined with this flag because accessing thread_locals produces undefined behavior in signal handlers. Bug:crashpad:384, chromium:861730 Change-Id: I83bce36e1010d0635ba8aeac937e150c43a4166f Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3403017 Reviewed-by: Mark Mentovai <mark@chromium.org> Commit-Queue: Joshua Peraza <jperaza@chromium.org>
Crashpad
Crashpad is a crash-reporting system.
Documentation
- Project status
- Developing Crashpad: instructions for getting the source code, building, testing, and contributing to the project.
- Crashpad interface documentation
- Crashpad tool man pages
- Crashpad overview design
Source Code
Crashpad’s source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.
Other Links
- Bugs can be reported at the Crashpad issue tracker.
- The Crashpad bots perform automated builds and tests.
- crashpad-dev is the Crashpad developers’ mailing list.
Description
Languages
C++
92.6%
Objective-C++
2.5%
C
2%
Python
1.7%
Assembly
0.9%
Other
0.3%