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 <bcmills@google.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
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 @@
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 @@
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 @@
// 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()
}