Browse Source

Initialize mainloop events earlier, since other stuff may run them.

Fixes a stem test failure; bugfix on c7ce6b9821be22e734b79e0. Bug
not in any released Tor.
Nick Mathewson 5 years ago
parent
commit
ae0cb94b69
3 changed files with 3 additions and 2 deletions
  1. 1 0
      src/app/main/main.c
  2. 1 1
      src/core/mainloop/mainloop.c
  3. 1 1
      src/core/mainloop/mainloop.h

+ 1 - 0
src/app/main/main.c

@@ -1269,6 +1269,7 @@ run_tor_main_loop(void)
   handle_signals();
   monotime_init();
   timers_initialize();
+  initialize_mainloop_events();
 
   /* load the private keys, if we're supposed to have them, and set up the
    * TLS context. */

+ 1 - 1
src/core/mainloop/mainloop.c

@@ -2675,7 +2675,7 @@ dns_servers_relaunch_checks(void)
 }
 
 /** Initialize some mainloop_event_t objects that we require. */
-STATIC void
+void
 initialize_mainloop_events(void)
 {
   if (!schedule_active_linked_connections_event) {

+ 1 - 1
src/core/mainloop/mainloop.h

@@ -87,6 +87,7 @@ void do_signewnym(time_t);
 time_t get_last_signewnym_time(void);
 
 void tor_init_connection_lists(void);
+void initialize_mainloop_events(void);
 void tor_mainloop_free_all(void);
 
 struct token_bucket_rw_t;
@@ -97,7 +98,6 @@ extern struct token_bucket_rw_t global_bucket;
 extern struct token_bucket_rw_t global_relayed_bucket;
 
 #ifdef MAINLOOP_PRIVATE
-STATIC void initialize_mainloop_events(void);
 STATIC void close_closeable_connections(void);
 STATIC void initialize_periodic_events(void);
 STATIC void teardown_periodic_events(void);