From 7f9b1623fab7a8a3d219f2a4db1b2fe98fadafea Mon Sep 17 00:00:00 2001 From: Cuong Manh Le Date: Fri, 23 Sep 2022 22:38:11 +0700 Subject: [PATCH] singleflight: remove forgotten field Port from CL 433315. Change-Id: Iaf6ab4676dd10a73443c3c9981ffc77233b4631c Reviewed-on: https://go-review.googlesource.com/c/sync/+/433555 Reviewed-by: Bryan Mills Run-TryBot: Cuong Manh Le Auto-Submit: Cuong Manh Le Reviewed-by: Cherry Mui TryBot-Result: Gopher Robot --- singleflight/singleflight.go | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/singleflight/singleflight.go b/singleflight/singleflight.go index 690eb85..7c7fc50 100644 --- a/singleflight/singleflight.go +++ b/singleflight/singleflight.go @@ -52,10 +52,6 @@ type call struct { val interface{} err error - // forgotten indicates whether Forget was called with this call's key - // while the call was still in flight. - forgotten bool - // These fields are read and written with the singleflight // mutex held before the WaitGroup is done, and are read but // not written after the WaitGroup is done. @@ -151,7 +147,7 @@ func (g *Group) doCall(c *call, key string, fn func() (interface{}, error)) { c.wg.Done() g.mu.Lock() defer g.mu.Unlock() - if !c.forgotten { + if g.m[key] == c { delete(g.m, key) } @@ -204,9 +200,6 @@ func (g *Group) doCall(c *call, key string, fn func() (interface{}, error)) { // an earlier call to complete. func (g *Group) Forget(key string) { g.mu.Lock() - if c, ok := g.m[key]; ok { - c.forgotten = true - } delete(g.m, key) g.mu.Unlock() }