No description
Find a file
LE Manh Cuong 56d357773e singleflight: fix duplicate deleting key when Forget called
When Forget was called, we delete key associated with current call from
map. When that call is done, it does delete key again, causing the same
key set by other call after Forget lost.

To fix it, adding a boolean value to check whether the call is forgotten,
the call only does delete key if Forget is not called.

Fixes golang/go#31420

Change-Id: I9708352ca3ff76c77f659916b37a496fdeb480d2
Reviewed-on: https://go-review.googlesource.com/c/sync/+/171897
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-04-12 18:36:30 +00:00
errgroup all: remove x/net/context in favour of context 2018-11-08 01:04:31 +00:00
semaphore semaphore: add more Acquire documentation 2018-12-21 19:32:16 +00:00
singleflight singleflight: fix duplicate deleting key when Forget called 2019-04-12 18:36:30 +00:00
syncmap syncmap: release m.mu during (*RWMutexMap).Range callbacks 2017-05-10 20:14:52 +00:00
AUTHORS initial commit 2015-10-30 14:31:46 +11:00
codereview.cfg .: add codereview.cfg 2016-12-06 01:46:32 +00:00
CONTRIBUTING.md CONTRIBUTING.md: remove note about not accepting Pull Requests 2018-03-14 18:01:46 +00:00
CONTRIBUTORS initial commit 2015-10-30 14:31:46 +11:00
go.mod all: add a go.mod file 2019-02-27 15:59:43 +00:00
LICENSE initial commit 2015-10-30 14:31:46 +11:00
PATENTS initial commit 2015-10-30 14:31:46 +11:00
README.md README: switch to Markdown, add better links 2017-09-27 05:41:12 +00:00

Go Sync

This repository provides Go concurrency primitives in addition to the ones provided by the language and "sync" and "sync/atomic" packages.

Download/Install

The easiest way to install is to run go get -u golang.org/x/sync. You can also manually git clone the repository to $GOPATH/src/golang.org/x/sync.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.

The main issue tracker for the sync repository is located at https://github.com/golang/go/issues. Prefix your issue with "x/sync:" in the subject line, so it is easy to find.