diff options
Diffstat (limited to 'src/or/circuit.c')
-rw-r--r-- | src/or/circuit.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/or/circuit.c b/src/or/circuit.c index eafead450d..bf410c8a1b 100644 --- a/src/or/circuit.c +++ b/src/or/circuit.c @@ -449,10 +449,10 @@ circuit_t *circuit_get_rendezvous(const char *cookie) return NULL; } -#define MIN_SECONDS_BEFORE_EXPIRING_CIRC 20 +#define MIN_SECONDS_BEFORE_EXPIRING_CIRC 30 /* circuits that were born at the end of their second might be expired - * after 10.1 seconds; circuits born at the beginning might be expired - * after closer to 11 seconds. + * after 30.1 seconds; circuits born at the beginning might be expired + * after closer to 31 seconds. */ /* close all circuits that start at us, aren't open, and were born @@ -493,6 +493,10 @@ void circuit_expire_building(time_t now) { victim->purpose == CIRCUIT_PURPOSE_C_INTRODUCING || victim->purpose == CIRCUIT_PURPOSE_S_ESTABLISH_INTRO || + /* it's a rend_ready circ, but it's already picked a query */ + (victim->purpose == CIRCUIT_PURPOSE_C_REND_READY && + victim->rend_query[0]) || + /* c_rend_ready circs measure age since timestamp_dirty, * because that's set when they switch purposes */ |