commit 84d18f70f3400df3e9c3b3c47288e82cd9160f6e
Author: David Goulet <[email protected]>
Date:   Thu Sep 14 13:29:05 2017 -0400

    sched: Always call on_channel_free() regardless of state
    
    A channel can bounce in the scheduler and bounce out with the IDLE state 
which
    means that if it came in the scheduler once, it has socket information that
    needs to be freed from the global hash table.
    
    Signed-off-by: David Goulet <[email protected]>
---
 src/or/scheduler.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/or/scheduler.c b/src/or/scheduler.c
index aaf991407..39427b782 100644
--- a/src/or/scheduler.c
+++ b/src/or/scheduler.c
@@ -547,11 +547,11 @@ scheduler_release_channel,(channel_t *chan))
                               offsetof(channel_t, sched_heap_idx),
                               chan);
     }
-    if (the_scheduler->on_channel_free) {
-      the_scheduler->on_channel_free(chan);
-    }
   }
 
+  if (the_scheduler->on_channel_free) {
+    the_scheduler->on_channel_free(chan);
+  }
   chan->scheduler_state = SCHED_CHAN_IDLE;
 }
 



_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to