Commit e7a138b8 authored by Russ Cox's avatar Russ Cox

spec: send on closed channel counts as "proceeding"

Other wordings are possible but defining this as one
of the ways to proceed means we don't have to add
language about this to the description of select.

Fixes #2825.

R=golang-dev, gri, r
CC=golang-dev
https://golang.org/cl/5643062
parent cf80ccd8
...@@ -3687,10 +3687,10 @@ Channel = Expression . ...@@ -3687,10 +3687,10 @@ Channel = Expression .
<p> <p>
Both the channel and the value expression are evaluated before communication Both the channel and the value expression are evaluated before communication
begins. Communication blocks until the send can proceed, at which point the begins. Communication blocks until the send can proceed.
value is transmitted on the channel.
A send on an unbuffered channel can proceed if a receiver is ready. A send on an unbuffered channel can proceed if a receiver is ready.
A send on a buffered channel can proceed if there is room in the buffer. A send on a buffered channel can proceed if there is room in the buffer.
A send on a closed channel proceeds by causing a <a href="#Run_time_panics">run-time panic</a>.
A send on a <code>nil</code> channel blocks forever. A send on a <code>nil</code> channel blocks forever.
</p> </p>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment