summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Kadianakis <desnacked@riseup.net>2014-04-08 16:59:46 +0100
committerNick Mathewson <nickm@torproject.org>2014-04-23 11:05:45 -0400
commitbf7cb6acf66abf3a9aa4be6819e6cf160579dab0 (patch)
treef85450e7a671ee0576d91abab3cb11c55aa86197
parentfffc59b0e941f12e1588e0604c8295ecc0679150 (diff)
downloadtor-bf7cb6acf66abf3a9aa4be6819e6cf160579dab0.tar.gz
tor-bf7cb6acf66abf3a9aa4be6819e6cf160579dab0.zip
Don't halt bootstrap to figure out if we should restart PT proxies.
Instead, figure out if we should restart PT proxies _immediately_ after we re-read the config file.
-rw-r--r--changes/bug111565
-rw-r--r--src/or/config.c6
-rw-r--r--src/or/transports.c3
3 files changed, 12 insertions, 2 deletions
diff --git a/changes/bug11156 b/changes/bug11156
new file mode 100644
index 0000000000..bb20ed1e70
--- /dev/null
+++ b/changes/bug11156
@@ -0,0 +1,5 @@
+ o Minor bugfixes (clients):
+ - Fix a bug where a client-side Tor with pluggable transports
+ would take 60 seconds to bootstrap if a config re-read was
+ triggered at just the right timing during bootstrap. Refixes bug
+ 11156; bugfix on 0.2.5.3-alpha. \ No newline at end of file
diff --git a/src/or/config.c b/src/or/config.c
index dbf643c53a..551b09f582 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -1433,6 +1433,12 @@ options_act(const or_options_t *old_options)
sweep_transport_list();
sweep_proxy_list();
+ /* Start the PT proxy configuration. By doing this configuration
+ here, we also figure out which proxies need to be restarted and
+ which not. */
+ if (pt_proxies_configuration_pending() && !net_is_disabled())
+ pt_configure_remaining_proxies();
+
/* Bail out at this point if we're not going to be a client or server:
* we want to not fork, and to log stuff to stderr. */
if (!running_tor)
diff --git a/src/or/transports.c b/src/or/transports.c
index 7e496fe219..e1876d678c 100644
--- a/src/or/transports.c
+++ b/src/or/transports.c
@@ -534,8 +534,7 @@ launch_managed_proxy(managed_proxy_t *mp)
}
/** Check if any of the managed proxies we are currently trying to
- * configure have anything new to say. This is called from
- * run_scheduled_events(). */
+ * configure has anything new to say. */
void
pt_configure_remaining_proxies(void)
{