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) {