diff options
author | doshimun <doshimun@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2009-01-20 20:45:28 +0000 |
---|---|---|
committer | doshimun <doshimun@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2009-01-20 20:45:28 +0000 |
commit | c9944d96e838e82a8b84a8751c1701cfa52ee9d2 (patch) | |
tree | 3c83bd3e8e55e92c18071225a49066caf76f22c6 /src/processor/basic_code_modules.h | |
parent | Fix an AppVerifier STOP in OOP server code. In the destructor of (diff) | |
download | breakpad-c9944d96e838e82a8b84a8751c1701cfa52ee9d2.tar.xz |
Reinstnate the call to TerminateThread inside ExceptionHandler destructor and put
the graceful code inside a #ifdef.
The problem is:
If ExceptionHandler is created and destroyed in DllMain, then the previous change to
remove the call to TerminateThread will lead to a deadlock. This is because inside
DllMain the loader lock is acquired, and the previous change waits for the handler
thread to exit in the destructor, that is with the loader lock acquired. But the
handler thread cannot finish until it gets the loader lock to call DllMain for
THREAD_DETACH.
With this change, we add conditional compilation so that clients that want to
avoid the call to terminate thread can do it by defining the appropriate preprocessor
variable.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@309 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/processor/basic_code_modules.h')
0 files changed, 0 insertions, 0 deletions