diff --git a/ChangeLog b/ChangeLog index 9d4b4d5e8d..0d86c2ec31 100644 --- a/ChangeLog +++ b/ChangeLog @@ -50,6 +50,10 @@ Changes in version 0.1.2.5-xxxx - 200?-??-?? give up on a nameserver the third time it timed out, and try it 10 seconds later... and to give up on it every time it timed out after that. (May fix bug 326.) + - Take out the '5 second' timeout from the connection retry + schedule. Now the first connect attempt will wait a full 10 + seconds before switching to a new circuit. Perhaps this will help + a lot. Based on observations from Mike Perry. o Minor bugfixes: - Fix a bug when a PF socket is first used. (Patch from Fabian Keil.) diff --git a/doc/TODO b/doc/TODO index 5e2c8359f9..0b9fcdddfb 100644 --- a/doc/TODO +++ b/doc/TODO @@ -124,7 +124,7 @@ d - Be a DNS proxy. answer? - warn if all of your nameservers go down and stay down for like 5 minutes. -R - Take out the '5 second' timeout from the socks detach schedule. +R o Take out the '5 second' timeout from the socks detach schedule. - Performance improvements diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index 19c38e90f9..5b4b9a245e 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -321,15 +321,13 @@ connection_edge_finished_connecting(edge_connection_t *edge_conn) /** Define a schedule for how long to wait between retrying * application connections. Rather than waiting a fixed amount of - * time between each retry, we wait only 5 seconds for the first, - * 10 seconds for the second, and 15 seconds for each retry after + * time between each retry, we wait 10 seconds each for the first + * two tries, and 15 seconds for each retry after * that. Hopefully this will improve the expected user experience. */ static int compute_socks_timeout(edge_connection_t *conn) { - if (conn->num_socks_retries == 0) - return 5; - if (conn->num_socks_retries == 1) + if (conn->num_socks_retries < 2) /* try 0 and try 1 */ return 10; return 15; }