commit | 30421366ff761c80b137fb5084b32278ed41fab0 | [log] [tgz] |
---|---|---|
author | hanliang.kirk <kirk91.han@gmail.com> | Sun Aug 30 12:01:04 2020 +0800 |
committer | Bryan C. Mills <bcmills@google.com> | Wed Sep 30 13:27:11 2020 +0000 |
tree | 6644373ae4379f9942d2d2fa35546eaf0e7fb90f | |
parent | 6e8e738ad208923de99951fe0b48239bfd864f28 [diff] |
singleflight: fix hangs after first Do panic When first Do panic, the related wait group will never be done, and all the subsequent calls would block on the same wait group forever. Fixes golang/go#41133 Change-Id: I0ad9bfb387b6133b10766a34fc0040f200eae27e Reviewed-on: https://go-review.googlesource.com/c/sync/+/251677 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com> Trust: Ian Lance Taylor <iant@golang.org> Trust: Bryan C. Mills <bcmills@google.com>
This repository provides Go concurrency primitives in addition to the ones provided by the language and “sync” and “sync/atomic” packages.
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
.
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.