if a stream times out after 15s without a connected cell,

don't try that circuit again.


svn:r1239
This commit is contained in:
Roger Dingledine 2004-03-06 05:10:07 +00:00
parent c362ed877d
commit 516ef41ac1

View File

@ -568,7 +568,12 @@ void connection_ap_expire_beginning(void) {
*/
conn->state = AP_CONN_STATE_CIRCUIT_WAIT;
circuit_detach_stream(circ, conn);
/* give it another 15 seconds to try */
/* kludge to make us not try this circuit again, yet to allow
* current streams on it to survive if they can: make it
* unattractive to use for new streams */
assert(circ->timestamp_dirty);
circ->timestamp_dirty -= options.NewCircuitPeriod;
/* give our stream another 15 seconds to try */
conn->timestamp_lastread += 15;
if(connection_ap_handshake_attach_circuit(conn)<0) {
/* it will never work */