mirror of
https://github.com/yuzu-emu/breakpad.git
synced 2025-05-07 22:42:38 +00:00
Patch from Vitaly to remove synchronization and make exception handling code single-threaded
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@602 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
parent
4abf9d9ebd
commit
0b54af4f91
|
@ -344,7 +344,7 @@ class AutoExceptionHandler {
|
||||||
AutoExceptionHandler() {
|
AutoExceptionHandler() {
|
||||||
// Increment handler_stack_index_ so that if another Breakpad handler is
|
// Increment handler_stack_index_ so that if another Breakpad handler is
|
||||||
// registered using this same HandleException function, and it needs to be
|
// registered using this same HandleException function, and it needs to be
|
||||||
// called while this handler is running (either becaause this handler
|
// called while this handler is running (either because this handler
|
||||||
// declines to handle the exception, or an exception occurs during
|
// declines to handle the exception, or an exception occurs during
|
||||||
// handling), HandleException will find the appropriate ExceptionHandler
|
// handling), HandleException will find the appropriate ExceptionHandler
|
||||||
// object in handler_stack_ to deliver the exception to.
|
// object in handler_stack_ to deliver the exception to.
|
||||||
|
@ -362,7 +362,6 @@ class AutoExceptionHandler {
|
||||||
handler_ = ExceptionHandler::handler_stack_->at(
|
handler_ = ExceptionHandler::handler_stack_->at(
|
||||||
ExceptionHandler::handler_stack_->size() -
|
ExceptionHandler::handler_stack_->size() -
|
||||||
++ExceptionHandler::handler_stack_index_);
|
++ExceptionHandler::handler_stack_index_);
|
||||||
LeaveCriticalSection(&ExceptionHandler::handler_stack_critical_section_);
|
|
||||||
|
|
||||||
// In case another exception occurs while this handler is doing its thing,
|
// In case another exception occurs while this handler is doing its thing,
|
||||||
// it should be delivered to the previous filter.
|
// it should be delivered to the previous filter.
|
||||||
|
@ -381,7 +380,6 @@ class AutoExceptionHandler {
|
||||||
#endif // _MSC_VER >= 1400
|
#endif // _MSC_VER >= 1400
|
||||||
_set_purecall_handler(ExceptionHandler::HandlePureVirtualCall);
|
_set_purecall_handler(ExceptionHandler::HandlePureVirtualCall);
|
||||||
|
|
||||||
EnterCriticalSection(&ExceptionHandler::handler_stack_critical_section_);
|
|
||||||
--ExceptionHandler::handler_stack_index_;
|
--ExceptionHandler::handler_stack_index_;
|
||||||
LeaveCriticalSection(&ExceptionHandler::handler_stack_critical_section_);
|
LeaveCriticalSection(&ExceptionHandler::handler_stack_critical_section_);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue