[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor/master] sched: Always call on_channel_free() regardless of state



commit 84d18f70f3400df3e9c3b3c47288e82cd9160f6e
Author: David Goulet <dgoulet@xxxxxxxxxxxxxx>
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 <dgoulet@xxxxxxxxxxxxxx>
---
 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
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits