diff options
author | Roger Dingledine <arma@torproject.org> | 2022-09-04 03:55:27 -0400 |
---|---|---|
committer | Micah Elizabeth Scott <beth@torproject.org> | 2023-05-10 07:37:11 -0700 |
commit | eba919093320a995a10637170fcc881a4c2c2dd9 (patch) | |
tree | d5a419042f28176e9d8d983f65f6d4168186ddc5 /src/lib/evloop/workqueue.c | |
parent | aa41d4b9396ade02fa1b14a2aa0fa097e11e779d (diff) | |
download | tor-eba919093320a995a10637170fcc881a4c2c2dd9.tar.gz tor-eba919093320a995a10637170fcc881a4c2c2dd9.zip |
compute the client-side pow in a cpuworker thread
We mark the intro circuit with a new flag saying that the pow is
in the cpuworker queue. When the cpuworker comes back, it either
has a solution, in which case we proceed with sending the intro1
cell, or it has no solution, in which case we unmark the intro
circuit and let the whole process restart on the next iteration of
connection_ap_handshake_attach_circuit().
Diffstat (limited to 'src/lib/evloop/workqueue.c')
-rw-r--r-- | src/lib/evloop/workqueue.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/evloop/workqueue.c b/src/lib/evloop/workqueue.c index bc929148eb..9a0c02fbd0 100644 --- a/src/lib/evloop/workqueue.c +++ b/src/lib/evloop/workqueue.c @@ -20,7 +20,10 @@ * The main thread can also queue an "update" that will be handled by all the * workers. This is useful for updating state that all the workers share. * - * In Tor today, there is currently only one thread pool, used in cpuworker.c. + * In Tor today, there is currently only one thread pool, managed + * in cpuworker.c and handling a variety of types of work, from the original + * "onion skin" circuit handshakes, to consensus diff computation, to + * client-side onion service PoW generation. */ #include "orconfig.h" |