[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor/master] Fix a startup time assert caused by periodic events not being initialized.



commit 85bb71049ac582e886144fd74fb869f4c7bdc5a8
Author: Yawning Angel <yawning@xxxxxxxxxxxxxxx>
Date:   Wed Nov 18 11:27:24 2015 +0000

    Fix a startup time assert caused by periodic events not being initialized.
    
    Loading a on disk bridge descriptor causes a directory download to be
    scheduled, which asserts due to the periodic events not being
    initialized yet.
    
    Fixes bug #17635, not in any released version of tor.
---
 src/or/main.c |   11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/or/main.c b/src/or/main.c
index 0b8591f..7aeacd1 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -2299,6 +2299,13 @@ do_main_loop(void)
 {
   time_t now;
 
+  /* initialize the periodic events first, so that code that depends on the
+   * events being present does not assert.
+   */
+  if (! periodic_events_initialized) {
+    initialize_periodic_events();
+  }
+
   /* initialize dns resolve map, spawn workers if needed */
   if (dns_init() < 0) {
     if (get_options()->ServerDNSAllowBrokenConfig)
@@ -2401,10 +2408,6 @@ do_main_loop(void)
     tor_assert(second_timer);
   }
 
-  if (! periodic_events_initialized) {
-    initialize_periodic_events();
-  }
-
 #ifdef HAVE_SYSTEMD_209
   uint64_t watchdog_delay;
   /* set up systemd watchdog notification. */

_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits