Blob Blame History Raw
From 8e1900b79d854e22ec6b5cea152ff363ce9a461c Mon Sep 17 00:00:00 2001
From: Mark Andrews <marka@isc.org>
Date: Fri, 22 Nov 2019 21:48:12 +0000
Subject: [PATCH 2/4] Merge branch
 '1334-threadsanitizer-data-race-dispatch-c-1339-in-tcp_recv-v9_11' into
 'v9_11'

lock dispatch before reporting state

See merge request isc-projects/bind9!2619

(cherry picked from commit e36730076af3190fe5930a6406dd414b87e1e178)
---
 lib/dns/dispatch.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/dns/dispatch.c b/lib/dns/dispatch.c
index ea5cf102f2..94df6bab9a 100644
--- a/lib/dns/dispatch.c
+++ b/lib/dns/dispatch.c
@@ -1353,12 +1353,12 @@ tcp_recv(isc_task_t *task, isc_event_t *ev_in) {
 
 	qid = disp->qid;
 
+	LOCK(&disp->lock);
+
 	dispatch_log(disp, LVL(90),
 		     "got TCP packet: requests %d, buffers %d, recvs %d",
 		     disp->requests, disp->tcpbuffers, disp->recv_pending);
 
-	LOCK(&disp->lock);
-
 	INSIST(disp->recv_pending != 0);
 	disp->recv_pending = 0;
 
-- 
2.21.0