From: Sebastian Hahn Date: Sun, 15 Feb 2015 10:49:19 +0000 (+0100) Subject: Call cpu_init if we change to being a relay X-Git-Tag: tor-0.2.6.3-alpha~53 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3bcdb26267502e0;p=thirdparty%2Ftor.git 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. --- 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)