]> git.ipfire.org Git - thirdparty/bind9.git/commit
Make query chain processing asynchronous
authorEvan Hunt <each@isc.org>
Thu, 29 Jun 2023 21:58:56 +0000 (14:58 -0700)
committerOndřej Surý <ondrej@isc.org>
Tue, 18 Jul 2023 09:57:11 +0000 (11:57 +0200)
commitb2993f7b8502f38bbd553f2447827ec496f4cbbc
tree6a95a0009b9e5e20f7703e218e5d3993c66c5772
parent1c2b1c52bdc9a94131e37f510b10cbc6666987da
Make query chain processing asynchronous

Under some circumstances when processing a query response - for example,
when it contains a CNAME or DNAME - a query will have to be restarted
from the beginning to look up a new target.

This was previously handled by recursively calling the ns__query_start()
function directly from ns_query_done(). However, performance test data
indicated that chains of CNAMEs could consume quite a bit of time inside
the worker thread, increasing latency for other waiting queries.  This
has now been changed so that restarted queries are run asynchronously.
lib/ns/query.c