Browse files

math/rand: document that NewSource sources race

While it was previously explicitly documented that "the default Source"
is safe for concurrent use, a careless reader can interpret that as
meaning "the implementation of the Source interface created by functions
in this package" rather than "the default shared Source used by
top-level functions". Be explicit that the Source returned by NewSource
is not safe for use by multiple goroutines.

Fixes #3611.

Change-Id: Iae4bc04c3887ad6e2491e36e38feda40324022c5
Reviewed-by: Brad Fitzpatrick <>
  • Loading branch information...
glasser authored and bradfitz committed Aug 4, 2016
1 parent 98def53 commit 82bc0d4e80870f25805029ef0e1e844ace7bf068
Showing with 2 additions and 0 deletions.
  1. +2 −0 src/math/rand/rand.go
@@ -24,6 +24,8 @@ type Source interface {
// NewSource returns a new pseudo-random Source seeded with the given value.
+// Unlike the default Source used by top-level functions, this source is not
+// safe for concurrent use by multiple goroutines.
func NewSource(seed int64) Source {
var rng rngSource

0 comments on commit 82bc0d4

Please sign in to comment.