[tor-commits] [tor/master] Uglify scheduler init logic to avoid crash on startup.
nickm at torproject.org
nickm at torproject.org
Fri Nov 28 03:58:31 UTC 2014
commit 472b62bfe4edb2f5e332c997be2ec69bdf590660
Author: Nick Mathewson <nickm at torproject.org>
Date: Mon Oct 14 13:33:36 2013 -0400
Uglify scheduler init logic to avoid crash on startup.
Otherwise, when we authority try to do a self-test because of
init-keys, if that self-test can't be launched for whatever reason and
so we close the channel immediately, we crash.
Yes, this a silly way for initialization to work.
---
src/or/config.c | 9 +++++++++
src/or/main.c | 8 --------
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/or/config.c b/src/or/config.c
index 16acec7..4ae9fad 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -43,6 +43,7 @@
#include "util.h"
#include "routerlist.h"
#include "routerset.h"
+#include "scheduler.h"
#include "statefile.h"
#include "transports.h"
#include "ext_orport.h"
@@ -1040,6 +1041,14 @@ options_act_reversible(const or_options_t *old_options, char **msg)
if (running_tor && !libevent_initialized) {
init_libevent(options);
libevent_initialized = 1;
+
+ /*
+ * Initialize the scheduler - this has to come after
+ * options_init_from_torrc() sets up libevent - why yes, that seems
+ * completely sensible to hide the libevent setup in the option parsing
+ * code! It also needs to happen before init_keys(), so it needs to
+ * happen here too. How yucky. */
+ scheduler_init();
}
/* Adjust the port configuration so we can launch listeners. */
diff --git a/src/or/main.c b/src/or/main.c
index 1a2cfad..7b38f45 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -2456,14 +2456,6 @@ tor_init(int argc, char *argv[])
log_warn(LD_NET, "Problem initializing libevent RNG.");
}
- /*
- * Initialize the scheduler - this has to come after
- * options_init_from_torrc() sets up libevent - why yes, that seems
- * completely sensible to hide the libevent setup in the option parsing
- * code!
- */
- scheduler_init();
-
return 0;
}
More information about the tor-commits
mailing list