New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mainloop: Reactivate the linked connection event with a non empty list #615

Merged
merged 1 commit into from Dec 21, 2018

Conversation

Projects
None yet
3 participants
@dgoulet-tor
Copy link
Contributor

dgoulet-tor commented Dec 21, 2018

Linked connections aren't woken up by libevent due to I/O but rather
artificially so we can, by chunks, empty the spooled object(s).

Commit 5719dfb (in 0.3.4.1-alpha) made it
that the schedule_active_linked_connections_event would be only called once at
startup but this is wrong because then we would never go through again the
active linked connections.

Fortunately, everytime a new linked connection is created, the event is
activated and thus we would go through the active list again. On a busy relay,
this issue is mitigated by that but on a slower relays or bridge, a connection
could get stuck for a while until a new directory information request would
show up.

Fixes #28717, #28912

mainloop: Reactivate the linked connection event with a non empty list
Linked connections aren't woken up by libevent due to I/O but rather
artificially so we can, by chunks, empty the spooled object(s).

Commit 5719dfb (in 0.3.4.1-alpha) made it
that the schedule_active_linked_connections_event would be only called once at
startup but this is wrong because then we would never go through again the
active linked connections.

Fortunately, everytime a new linked connection is created, the event is
activated and thus we would go through the active list again. On a busy relay,
this issue is mitigated by that but on a slower relays or bridge, a connection
could get stuck for a while until a new directory information request would
show up.

Fixes #28717, #28912
@coveralls

This comment has been minimized.

Copy link

coveralls commented Dec 21, 2018

Pull Request Test Coverage Report for Build 3373

  • 0 of 2 (0.0%) changed or added relevant lines in 1 file are covered.
  • 1 unchanged line in 1 file lost coverage.
  • Overall coverage decreased (-0.003%) to 59.86%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/or/main.c 0 2 0.0%
Files with Coverage Reduction New Missed Lines %
src/or/hs_common.c 1 83.55%
Totals Coverage Status
Change from base Build 3263: -0.003%
Covered Lines: 41783
Relevant Lines: 69801

💛 - Coveralls

@torproject-pusher torproject-pusher merged commit 2420e84 into torproject:maint-0.3.4 Dec 21, 2018

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment