Fix for disable_analyzer() problem.

When calling an Analyzer's method to remove a child analyzer, we now
postpone the actual removal to later, as otherwise the call to Done()
might trigger further analyzer activity that can interfere with code
running after that that triggered the removal.

This should fix the SSL assertion crashes that we have seen.

This change is a bit tricky internally, but the trace-based tests
produce the same output as before so things should be fine ...
This commit is contained in:
Robin Sommer 2011-07-22 16:19:24 -07:00
parent d01b8c9d3d
commit 8dc1a52d9d
2 changed files with 42 additions and 13 deletions

View file

@ -299,6 +299,7 @@ private:
bool timers_canceled;
bool skip;
bool finished;
bool removing;
static AnalyzerID id_counter;