mirror of
https://github.com/golang/go
synced 2024-11-18 03:54:50 -07:00
runtime: fix invariant comment in chan.go
Change-Id: Ic6317f186d0ee68ab1f2d15be9a966a152f61bfb Reviewed-on: https://go-review.googlesource.com/31610 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
2693fa15ee
commit
39690beb58
@ -7,10 +7,16 @@ package runtime
|
||||
// This file contains the implementation of Go channels.
|
||||
|
||||
// Invariants:
|
||||
// At least one of c.sendq and c.recvq is empty.
|
||||
// At least one of c.sendq and c.recvq is empty,
|
||||
// except for the case of an unbuffered channel with a single goroutine
|
||||
// blocked on it for both sending and receiving using a select statement,
|
||||
// in which case the length of c.sendq and c.recvq is limited only by the
|
||||
// size of the select statement.
|
||||
//
|
||||
// For buffered channels, also:
|
||||
// c.qcount > 0 implies that c.recvq is empty.
|
||||
// c.qcount < c.dataqsiz implies that c.sendq is empty.
|
||||
|
||||
import (
|
||||
"runtime/internal/atomic"
|
||||
"unsafe"
|
||||
|
Loading…
Reference in New Issue
Block a user