BUG/MINOR: resolvers: Use resolver's lock in resolv_srvrq_expire_task()

The commit dcac41806 ("BUG/MEDIUM: resolvers: Add a task on servers to check
SRV resolution status") introduced a type. In resolv_srvrq_expire_task()
function, the resolver's lock must be used instead of the resolver itself.

This patch must be backported with the patch above (at least as far as 2.2).
This commit is contained in:
Christopher Faulet 2021-06-18 09:05:49 +02:00
parent 655dec81bd
commit e886dd5c32

View File

@ -609,9 +609,9 @@ static struct task *resolv_srvrq_expire_task(struct task *t, void *context, unsi
if (!tick_is_expired(t->expire, now_ms))
goto end;
HA_SPIN_LOCK(DNS_LOCK, &srv->srvrq->resolvers);
HA_SPIN_LOCK(DNS_LOCK, &srv->srvrq->resolvers->lock);
resolv_srvrq_cleanup_srv(srv);
HA_SPIN_UNLOCK(DNS_LOCK, &srv->srvrq->resolvers);
HA_SPIN_UNLOCK(DNS_LOCK, &srv->srvrq->resolvers->lock);
end:
return t;