aboutsummaryrefslogtreecommitdiff
path: root/changes/bug27003
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-08-02 10:03:24 -0400
committerNick Mathewson <nickm@torproject.org>2018-08-02 10:14:56 -0400
commit176999fd955dea5916a560374db7d4efd3a1dad1 (patch)
tree92ba614b6bf939f276501745916dbfa69b792fe7 /changes/bug27003
parent861d690018c213ad017fbf8dc99d4790c111c396 (diff)
downloadtor-176999fd955dea5916a560374db7d4efd3a1dad1.tar.gz
tor-176999fd955dea5916a560374db7d4efd3a1dad1.zip
When enabling periodic events, schedule but don't run them immediately.
When we fixed 25939 in f7633c1fcaefe72bf97c001bab9062132c919996, we introduced a call to rescan_periodic_events() from inside the onion service logic. But this meant that we could rescan the event list -- thereby running event callbacks! -- from inside the hidden service code. This could cause us to run some of our event callbacks from an inconsistent state, if we were in the middle of changing options. A related bug (#25761) prevented us from rescanning our periodic events as appropriate, but when we fixed THAT one, this bug reared its ugly head. The fix here is that "enabling" an event should cause us to run it from the event loop, but not immediately from the point where we enable it. Fixes bug 27003; bugfix on 0.3.4.1-alpha.
Diffstat (limited to 'changes/bug27003')
-rw-r--r--changes/bug270036
1 files changed, 6 insertions, 0 deletions
diff --git a/changes/bug27003 b/changes/bug27003
new file mode 100644
index 0000000000..4f2045afc7
--- /dev/null
+++ b/changes/bug27003
@@ -0,0 +1,6 @@
+ o Major bugfixes (event scheduler):
+ - When we enable a periodic event, schedule it in the event loop
+ rather than running it immediately. Previously, we would re-run
+ periodic events immediately in the middle of (for example)
+ changing our options, with unpredictable effects. Fixes bug
+ 27003; bugfix on 0.3.4.1-alpha.