*/
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 */