aboutsummaryrefslogtreecommitdiff
path: root/src/or/connection_edge.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2016-11-03 15:45:16 -0400
committerNick Mathewson <nickm@torproject.org>2016-11-03 15:45:16 -0400
commit272572c3a2203a8a62f4c8c081fea55183f1f426 (patch)
treee68da9e4a2fd1b486f19df6b5cd5b248f59e2c84 /src/or/connection_edge.c
parent0abaedbf3469dfca8833867feef789c6d4e59225 (diff)
parent3cd520a52d50b9e901d33d0164d847d12a278f1b (diff)
downloadtor-272572c3a2203a8a62f4c8c081fea55183f1f426.tar.gz
tor-272572c3a2203a8a62f4c8c081fea55183f1f426.zip
Merge branch 'maint-0.2.9'
Diffstat (limited to 'src/or/connection_edge.c')
-rw-r--r--src/or/connection_edge.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index 27a025173c..0c18de0089 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -945,6 +945,15 @@ connection_ap_mark_as_pending_circuit_(entry_connection_t *entry_conn,
untried_pending_connections = 1;
smartlist_add(pending_entry_connections, entry_conn);
+
+ /* Work-around for bug 19969: we handle pending_entry_connections at
+ * the end of run_main_loop_once(), but in many cases that function will
+ * take a very long time, if ever, to finish its call to event_base_loop().
+ *
+ * So the fix is to tell it right now that it ought to finish its loop at
+ * its next available opportunity.
+ */
+ tell_event_loop_to_finish();
}
/** Mark <b>entry_conn</b> as no longer waiting for a circuit. */