1a4de8
From 8e1900b79d854e22ec6b5cea152ff363ce9a461c Mon Sep 17 00:00:00 2001
1a4de8
From: Mark Andrews <marka@isc.org>
1a4de8
Date: Fri, 22 Nov 2019 21:48:12 +0000
1a4de8
Subject: [PATCH 2/4] Merge branch
1a4de8
 '1334-threadsanitizer-data-race-dispatch-c-1339-in-tcp_recv-v9_11' into
1a4de8
 'v9_11'
1a4de8
1a4de8
lock dispatch before reporting state
1a4de8
1a4de8
See merge request isc-projects/bind9!2619
1a4de8
1a4de8
(cherry picked from commit e36730076af3190fe5930a6406dd414b87e1e178)
1a4de8
---
1a4de8
 lib/dns/dispatch.c | 4 ++--
1a4de8
 1 file changed, 2 insertions(+), 2 deletions(-)
1a4de8
1a4de8
diff --git a/lib/dns/dispatch.c b/lib/dns/dispatch.c
1a4de8
index ea5cf102f2..94df6bab9a 100644
1a4de8
--- a/lib/dns/dispatch.c
1a4de8
+++ b/lib/dns/dispatch.c
1a4de8
@@ -1353,12 +1353,12 @@ tcp_recv(isc_task_t *task, isc_event_t *ev_in) {
1a4de8
 
1a4de8
 	qid = disp->qid;
1a4de8
 
1a4de8
+	LOCK(&disp->lock);
1a4de8
+
1a4de8
 	dispatch_log(disp, LVL(90),
1a4de8
 		     "got TCP packet: requests %d, buffers %d, recvs %d",
1a4de8
 		     disp->requests, disp->tcpbuffers, disp->recv_pending);
1a4de8
 
1a4de8
-	LOCK(&disp->lock);
1a4de8
-
1a4de8
 	INSIST(disp->recv_pending != 0);
1a4de8
 	disp->recv_pending = 0;
1a4de8
 
1a4de8
-- 
1a4de8
2.21.0
1a4de8