commit dec3a0af7a2424ed16bdd12a8871930067060cee
parent b95bd5017f09dd9385e54e9b3b6a49474b4dc9a8
Author: Roger Dingledine <arma@torproject.org>
Date: Fri, 1 Jul 2022 13:31:29 -0400
make the rend_pqueue_cb event be postloop
this change makes us reach the callback *after* each mainloop
run, rather than as the next event to run immediately after
activation.
with the old behavior, we were starving everything else to drain the
pqueue entirely, each time we got a new intro2 cell.
now we at least will get to other activities as well.
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/feature/hs/hs_circuit.c b/src/feature/hs/hs_circuit.c
@@ -812,7 +812,7 @@ enqueue_rend_request(const hs_service_t *service, hs_service_intro_point_t *ip,
/* Initialize the priority queue event if it hasn't been done so already. */
if (pow_state->pop_pqueue_ev == NULL) {
pow_state->pop_pqueue_ev =
- mainloop_event_new(handle_rend_pqueue_cb, (void *)service);
+ mainloop_event_postloop_new(handle_rend_pqueue_cb, (void *)service);
}
/* Activate event, we just enqueued a rendezvous request. */