[tor-commits] [tor/master] Detach circuits from circuitmux early when freeing channel so they can find the channel by ID

andrea at torproject.org andrea at torproject.org
Thu Oct 11 02:05:24 UTC 2012


commit c097fb33fc081165a55f0b9417d7c8bf5dc91cd6
Author: Andrea Shepard <andrea at torproject.org>
Date:   Mon Oct 1 14:22:04 2012 -0700

    Detach circuits from circuitmux early when freeing channel so they can find the channel by ID
---
 src/or/channel.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/or/channel.c b/src/or/channel.c
index 8241556..4ad5bf1 100644
--- a/src/or/channel.c
+++ b/src/or/channel.c
@@ -2766,6 +2766,10 @@ channel_free_list(smartlist_t *channels, int mark_for_close)
               "in state %s (%d)",
               curr, U64_PRINTF_ARG(curr->global_identifier),
               channel_state_to_string(curr->state), curr->state);
+    /* Detach circuits early so they can find the channel */
+    if (curr->cmux) {
+      circuitmux_detach_all_circuits(curr->cmux);
+    }
     channel_unregister(curr);
     if (mark_for_close) {
       if (!(curr->state == CHANNEL_STATE_CLOSING ||





More information about the tor-commits mailing list