Merge branch '3456-dispatch-connect-race' into 'main'

remove unnecessary assertion in dns_dispatch_connect()

Closes #3456

See merge request isc-projects/bind9!6573
This commit is contained in:
Evan Hunt 2022-07-15 02:26:41 +00:00
commit dde669f546
2 changed files with 4 additions and 1 deletions

View file

@ -1,3 +1,7 @@
5927. [bug] A race was possible in dns_dispatch_connect()
that could trigger an assertion failure if two
threads called it near-simultaneously. [GL #3456]
5926. [func] Handle transient TCP connect() EADDRINUSE failures
on FreeBSD (and possibly other BSDs) by trying three
times before giving up. [GL #3451]

View file

@ -1812,7 +1812,6 @@ dns_dispatch_connect(dns_dispentry_t *resp) {
case DNS_DISPATCHSTATE_NONE:
/* First connection, continue with connecting */
LOCK(&disp->lock);
INSIST(ISC_LIST_EMPTY(disp->pending));
ISC_LIST_APPEND(disp->pending, resp, plink);
UNLOCK(&disp->lock);
dns_dispatch_attach(disp, &(dns_dispatch_t *){ NULL });