From cf8078e9d39c477996c90947a13bb0c619e859a1 Mon Sep 17 00:00:00 2001 From: BurtonQin Date: Wed, 12 Feb 2020 11:44:36 +0800 Subject: [PATCH] core/bloombis: fix possible data race caused by inconsistent field protection --- core/bloombits/scheduler.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/bloombits/scheduler.go b/core/bloombits/scheduler.go index 6449c7465a..190393c4ba 100644 --- a/core/bloombits/scheduler.go +++ b/core/bloombits/scheduler.go @@ -150,6 +150,7 @@ func (s *scheduler) scheduleDeliveries(pend chan uint64, done chan []byte, quit // Wait until the request is honoured s.lock.Lock() res := s.responses[idx] + cached := res.cached s.lock.Unlock() select { @@ -161,7 +162,7 @@ func (s *scheduler) scheduleDeliveries(pend chan uint64, done chan []byte, quit select { case <-quit: return - case done <- res.cached: + case done <- cached: } } }