]> Cypherpunks repositories - gostls13.git/commitdiff
doc: mention concurrent map write/iterate detector
authorKeith Randall <khr@golang.org>
Thu, 1 Dec 2016 16:37:48 +0000 (08:37 -0800)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 6 Dec 2016 22:32:15 +0000 (22:32 +0000)
Mention that the best-effort race detector on maps
was upgraded to detect write/iterate races.

Fixes #18137

Change-Id: Ib6e0adde47e965126771ea712386031a2a55eba3
Reviewed-on: https://go-review.googlesource.com/33768
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
doc/go1.8.html

index 49ff5c0278bc9a8a337609b476a1fbf77b585c21..04818872287bd42bfe36e89046ab2fc72ecff018 100644 (file)
@@ -442,6 +442,26 @@ version of gccgo.
   documentation</a> and its example for more details.
 </p>
 
+<h3 id="mapiter">Concurrent Map Misuse</h3>
+
+<p>
+In Go 1.6, the runtime
+<a href="/doc/go1.6#runtime">added lightweight,
+best-effort detection of concurrent misuse of maps</a>. This release
+improves that detector with support for detecting programs that
+concurrently write to and iterate over a map.
+</p>
+<p>
+As always, if one goroutine is writing to a map, no other goroutine should be
+reading (which includes iterating) or writing the map concurrently.
+If the runtime detects this condition, it prints a diagnosis and crashes the program.
+The best way to find out more about the problem is to run the program
+under the
+<a href="https://blog.golang.org/race-detector">race detector</a>,
+which will more reliably identify the race
+and give more detail.
+</p>
+
 <h3 id="memstats">MemStats Documentation</h3>
 
 <p> <!-- CL 28972 -->