summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2018-01-31 13:46:31 -0500
committerDavid Goulet <dgoulet@torproject.org>2018-01-31 13:46:31 -0500
commitadaf3e9b89f62d68ab631b8f672d9bff996689b9 (patch)
tree7cbdb2bccdadf37fd897b7623d3292f0156bed8f
parentdf312b3cf637d2c5487adc60ed541823bef56f06 (diff)
downloadtor-adaf3e9b89f62d68ab631b8f672d9bff996689b9.tar.gz
tor-adaf3e9b89f62d68ab631b8f672d9bff996689b9.zip
sched: Avoid adding the same channel twice to the KIST pending list
This is the quick fix that is keeping the channel in PENDING state so if we ever try to reschedule the same channel, it won't happened. Fixes #24700 Signed-off-by: David Goulet <dgoulet@torproject.org>
-rw-r--r--changes/bug247004
-rw-r--r--src/or/scheduler_kist.c1
2 files changed, 4 insertions, 1 deletions
diff --git a/changes/bug24700 b/changes/bug24700
new file mode 100644
index 0000000000..74dc581a0b
--- /dev/null
+++ b/changes/bug24700
@@ -0,0 +1,4 @@
+ o Minor bugfixes (scheduler, KIST):
+ - Avoid adding the same channel twice in the KIST scheduler pending list
+ wasting CPU cycles at handling the same channel twice. Fixes bug 24700;
+ bugfix on 0.3.2.1-alpha.
diff --git a/src/or/scheduler_kist.c b/src/or/scheduler_kist.c
index f50f3aa9e9..7b5d138be1 100644
--- a/src/or/scheduler_kist.c
+++ b/src/or/scheduler_kist.c
@@ -693,7 +693,6 @@ kist_scheduler_run(void)
* after the scheduling loop is over. They can hopefully be taken care of
* in the next scheduling round.
*/
- chan->scheduler_state = SCHED_CHAN_WAITING_TO_WRITE;
if (!to_readd) {
to_readd = smartlist_new();
}