aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuituse.c
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2008-03-24 05:48:51 +0000
committerRoger Dingledine <arma@torproject.org>2008-03-24 05:48:51 +0000
commita9acdb8f53d408248ae6fa1b803a6c259a34854c (patch)
treebe5186ce0637013bc8db0cebbaf52db3e804ee6b /src/or/circuituse.c
parentc26c77d24da5e2330225caba3b39614aec06d431 (diff)
downloadtor-a9acdb8f53d408248ae6fa1b803a6c259a34854c.tar
tor-a9acdb8f53d408248ae6fa1b803a6c259a34854c.tar.gz
when our onehop circuits were failing, nobody was telling the
streams. so they waited 120 seconds before timing out. this was particularly bad during bootstrapping, if an authority is down or not answering right. svn:r14163
Diffstat (limited to 'src/or/circuituse.c')
-rw-r--r--src/or/circuituse.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/or/circuituse.c b/src/or/circuituse.c
index 404b7485b..313a6c54d 100644
--- a/src/or/circuituse.c
+++ b/src/or/circuituse.c
@@ -744,6 +744,9 @@ circuit_build_failed(origin_circuit_t *circ)
n_conn->_base.or_is_obsolete = 1;
entry_guard_register_connect_status(n_conn->identity_digest, 0,
time(NULL));
+ /* if there are any one-hop streams waiting on this circuit, fail
+ * them now so they can retry elsewhere. */
+ connection_ap_fail_onehop(n_conn->identity_digest);
}
}