BUG/MEDIUM: resolvers: Wake resolver task up whne unlinking a stream requester

Another regression introduced with the commit 3023e9819 ("BUG/MINOR:
resolvers: Restore round-robin selection on records in DNS answers"). Stream
requesters are unlinked from any theards. So we must not try to queue the
resolver's task here because it is not allowed to do so from another thread
than the task thread. Instead, we can simply wake the resolver's task up. It
is only performed when the last stream requester is unlink from the
resolution.

This patch should fix the issue #3119. It must be backported with the commit
above.
This commit is contained in:
Christopher Faulet 2025-09-15 07:57:28 +02:00
parent e6a9192af6
commit 157852ce99

View File

@ -2227,7 +2227,7 @@ static void _resolv_unlink_resolution(struct resolv_requester *requester)
else {
if (!tick_isset(res->last_resolution))
res->last_resolution = now_ms;
resolv_update_resolvers_timeout(res->resolvers);
task_wakeup(res->resolvers->t, TASK_WOKEN_OTHER);
}
return;
}