-1576. [placeholder] rt10272
+1576. [bug] Race condition in dns_dispatch_addresponse().
+ [RT# 10272]
1575. [func] Log TSIG name on TSIG verify failure. [RT #4404]
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dispatch.c,v 1.114 2004/02/03 00:59:04 marka Exp $ */
+/* $Id: dispatch.c,v 1.115 2004/02/10 06:11:17 marka Exp $ */
#include <config.h>
id &= 0x0000ffff;
bucket = dns_hash(qid, dest, id);
}
- UNLOCK(&qid->lock);
if (!ok) {
+ UNLOCK(&qid->lock);
UNLOCK(&disp->lock);
return (ISC_R_NOMORE);
}
res = isc_mempool_get(disp->mgr->rpool);
if (res == NULL) {
+ UNLOCK(&qid->lock);
UNLOCK(&disp->lock);
return (ISC_R_NOMEMORY);
}
ISC_LIST_INIT(res->items);
ISC_LINK_INIT(res, link);
res->magic = RESPONSE_MAGIC;
- LOCK(&qid->lock);
ISC_LIST_APPEND(qid->qid_table[bucket], res, link);
UNLOCK(&qid->lock);