tor/changes/bug27003
Nick Mathewson 176999fd95 When enabling periodic events, schedule but don't run them immediately.
When we fixed 25939 in f7633c1fca, 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.
2018-08-02 10:14:56 -04:00

7 lines
347 B
Plaintext

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.