Clear cell queues when marking or truncating a circuit.

At best, this patch helps us avoid sending queued relayed cells that
would get ignored during the time between when a destroy cell is
sent and when the circuit is finally freed.  At worst, it lets us
release some memory a little earlier than it would otherwise.

Fix for bug #1184.  Bugfix on 0.2.0.1-alpha.
This commit is contained in:
Nick Mathewson
2010-07-30 18:55:24 -04:00
parent 15424bf800
commit 6f45101327
6 changed files with 37 additions and 7 deletions
+7
View File
@@ -0,0 +1,7 @@
o Minor bugfixes:
- Never relay a cell for a circuit we have already destroyed.
Between marking a circuit as closeable and finally closing it,
it may have been possible for a few queued cells to get relayed,
even though they would have been immediately dropped by the next
OR in the circuit. Fix 1184; bugfix on 0.2.0.1-alpha.