aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCuong Manh Le <cuong.manhle.vn@gmail.com>2022-09-23 22:38:11 +0700
committerGopher Robot <gobot@golang.org>2022-09-23 20:29:41 +0000
commit7f9b1623fab7a8a3d219f2a4db1b2fe98fadafea (patch)
treef89c9dc672fb5878971a288d56a9a1799a58d7d0
parentf12130a5280420d36872ab0a7717d160c768df46 (diff)
downloadgolang-x-sync-7f9b1623fab7a8a3d219f2a4db1b2fe98fadafea.tar.gz
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>
-rw-r--r--singleflight/singleflight.go9
1 files changed, 1 insertions, 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()
}