Additional Go concurrency primitives

Clone this repo:


  1. 67f06af singleflight: fix flaky TestForget by Cuong Manh Le · 6 weeks ago master
  2. b3e1573 singleflight: skip tests involving exec on js/wasm by Bryan C. Mills · 8 weeks ago
  3. 3042136 singleflight: fix hangs after first Do panic by hanliang.kirk · 3 months ago
  4. 6e8e738 errgroup: fix go vet "copy lock value" warning by Cholerae Hu · 6 months ago
  5. 43a5402 semaphore: unblock waiters when the front waiter cancels by 徐志强 · 9 months ago

Go Sync

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 You can also manually git clone the repository to $GOPATH/src/

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see

The main issue tracker for the sync repository is located at Prefix your issue with “x/sync:” in the subject line, so it is easy to find.