diff options
author | Sebastian Hahn <sebastian@torproject.org> | 2015-02-15 11:49:19 +0100 |
---|---|---|
committer | Sebastian Hahn <sebastian@torproject.org> | 2015-02-15 11:49:19 +0100 |
commit | 3bcdb26267502e0d1de5d01854c8a2cf29a5e5f4 (patch) | |
tree | 9c36d82aa3362c982229153b5bd54f6969967791 | |
parent | 424edd57105ea6eaf96d7db66e00ac1298f9dc52 (diff) | |
download | tor-3bcdb26267502e0d1de5d01854c8a2cf29a5e5f4.tar.gz tor-3bcdb26267502e0d1de5d01854c8a2cf29a5e5f4.zip |
Call cpu_init if we change to being a relay
The issue is that we use the cpuworker system with relays only, so if we
start up as a client and transition to being a relay later, we'll be
sad.
This fixes bug 14901; not in any released version of Tor.
-rw-r--r-- | src/or/config.c | 1 | ||||
-rw-r--r-- | src/or/cpuworker.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/or/config.c b/src/or/config.c index ad4fd45846..8d15d0df2f 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -1721,6 +1721,7 @@ options_act(const or_options_t *old_options) "Worker-related options changed. Rotating workers."); if (server_mode(options) && !server_mode(old_options)) { + cpu_init(); ip_address_changed(0); if (have_completed_a_circuit() || !any_predicted_circuits(time(NULL))) inform_testing_reachability(); diff --git a/src/or/cpuworker.c b/src/or/cpuworker.c index c5e78ed716..5787c75530 100644 --- a/src/or/cpuworker.c +++ b/src/or/cpuworker.c @@ -71,7 +71,8 @@ replyqueue_process_cb(evutil_socket_t sock, short events, void *arg) replyqueue_process(rq); } -/** Initialize the cpuworker subsystem. +/** Initialize the cpuworker subsystem. It is OK to call this more than once + * during Tor's lifetime. */ void cpu_init(void) |