From: Russ Cox Date: Sat, 7 Jun 2014 02:07:11 +0000 (-0400) Subject: [release-branch.go1.3] doc: fix happens-before rules for buffered channels X-Git-Tag: go1.3rc2~16 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=2dbe352b0f34189045800bc3857a3c0b300c6f42;p=gostls13.git [release-branch.go1.3] doc: fix happens-before rules for buffered channels ««« CL 101980047 / 12c9a9ff50d8 doc: fix happens-before rules for buffered channels The current wording is reversed in 2 places. Not sure how it got 4 LGTMs (mine was there as well). Update #6242. LGTM=dan.kortschak, r, rsc R=golang-codereviews, 0xjnml, dan.kortschak, r, rsc CC=golang-codereviews https://golang.org/cl/101980047 »»» LGTM=iant R=golang-codereviews, iant CC=golang-codereviews, r https://golang.org/cl/106830047 --- diff --git a/doc/go_mem.html b/doc/go_mem.html index 69e7c8ce75..2ea1ded7a3 100644 --- a/doc/go_mem.html +++ b/doc/go_mem.html @@ -1,6 +1,6 @@ @@ -275,17 +275,17 @@ crash, or do something else.)

-The kth send on a channel with capacity C happens before the k+Cth receive from that channel completes. +The kth receive on a channel with capacity C happens before the k+Cth send from that channel completes.

This rule generalizes the previous rule to buffered channels. It allows a counting semaphore to be modeled by a buffered channel: -the number of items in the channel corresponds to the semaphore count, -the capacity of the channel corresponds to the semaphore maximum, +the number of items in the channel corresponds to the number of active uses, +the capacity of the channel corresponds to the maximum number of simultaneous uses, sending an item acquires the semaphore, and receiving an item releases the semaphore. -This is a common idiom for rate-limiting work. +This is a common idiom for limiting concurrency.