aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-04-02 15:02:53 -0400
committerNick Mathewson <nickm@torproject.org>2018-04-13 10:44:15 -0400
commitc5a3e2ca44cfd3302a65ae247120fd4efb81a379 (patch)
tree7ce3a789325311591148af0eec707eff74ef04ce /ChangeLog
parentad57b1279ab68e204243ddf3cf841fd85606c331 (diff)
downloadtor-c5a3e2ca44cfd3302a65ae247120fd4efb81a379.tar.gz
tor-c5a3e2ca44cfd3302a65ae247120fd4efb81a379.zip
Generic mechaism for "post-loop" callbacks
We've been labeling some events as happening "outside the event loop", to avoid Libevent starvation. This patch provides a cleaner mechanism to avoid that starvation. For background, the problem here is that Libevent only scans for new events once it has run all its active callbacks. So if the callbacks keep activating new callbacks, they could potentially starve Libevent indefinitely and keep it from ever checking for timed, socket, or signal events. To solve this, we add the ability to label some events as "post-loop". The rule for a "post-loop" event is that any events _it_ activates can only be run after libevent has re-scanned for new events at least once.
Diffstat (limited to 'ChangeLog')
0 files changed, 0 insertions, 0 deletions