summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug235374
-rw-r--r--src/or/scheduler.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/changes/bug23537 b/changes/bug23537
new file mode 100644
index 0000000000..93072a3b4f
--- /dev/null
+++ b/changes/bug23537
@@ -0,0 +1,4 @@
+ o Minor bugfixes (scheduler):
+ - When switching schedulers due to a consensus change, we didn't give the new
+ scheduler a chance to react to the consensus. Fix that. Fixes bug 23537;
+ bugfix on 0.3.2.1-alpha
diff --git a/src/or/scheduler.c b/src/or/scheduler.c
index ca3cafd9af..64628e4c73 100644
--- a/src/or/scheduler.c
+++ b/src/or/scheduler.c
@@ -371,12 +371,13 @@ void
scheduler_notify_networkstatus_changed(const networkstatus_t *old_c,
const networkstatus_t *new_c)
{
+ /* Maybe the consensus param made us change the scheduler. */
+ set_scheduler();
+
/* Then tell the (possibly new) scheduler that we have a new consensus */
if (the_scheduler->on_new_consensus) {
the_scheduler->on_new_consensus(old_c, new_c);
}
- /* Maybe the consensus param made us change the scheduler. */
- set_scheduler();
}
/*