Browse Source

main: Don't rescan main loop events if not initialized

This is done because it makes our life easier with unit tests. Also, a rescan
on an uninitialized event list will result in a stacktrace.

Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet 6 years ago
parent
commit
3ab017b10c
1 changed files with 7 additions and 0 deletions
  1. 7 0
      src/or/main.c

+ 7 - 0
src/or/main.c

@@ -1553,6 +1553,13 @@ rescan_periodic_events(const or_options_t *options)
 {
   tor_assert(options);
 
+  /* Avoid scanning the event list if we haven't initialized it yet. This is
+   * particularly useful for unit tests in order to avoid initializing main
+   * loop events everytime. */
+  if (!periodic_events_initialized) {
+    return;
+  }
+
   int roles = get_my_roles(options);
 
   for (int i = 0; periodic_events[i].name; ++i) {