commit bf7cb6acf66abf3a9aa4be6819e6cf160579dab0 Author: George Kadianakis desnacked@riseup.net Date: Tue Apr 8 16:59:46 2014 +0100
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. --- changes/bug11156 | 5 +++++ src/or/config.c | 6 ++++++ src/or/transports.c | 3 +-- 3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/changes/bug11156 b/changes/bug11156 new file mode 100644 index 0000000..bb20ed1e --- /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 dbf643c..551b09f 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 7e496fe..e1876d6 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) {
tor-commits@lists.torproject.org