Browse Source

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.
George Kadianakis 10 years ago
parent
commit
bf7cb6acf6
3 changed files with 12 additions and 2 deletions
  1. 5 0
      changes/bug11156
  2. 6 0
      src/or/config.c
  3. 1 2
      src/or/transports.c

+ 5 - 0
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.

+ 6 - 0
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)

+ 1 - 2
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)
 {