aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2011-10-13 16:58:04 -0400
committerRuss Cox <rsc@golang.org>2011-10-13 16:58:04 -0400
commitf58ed4e64126b595efbde9df04e63c7ea2a4fbd6 (patch)
tree96948e47d2e0751de6c51e6d941ed8defaf70fc6 /src/pkg/runtime
parentd65aaf24a6f7c4752aa5609f3f40433218483e72 (diff)
downloadgo-f58ed4e64126b595efbde9df04e63c7ea2a4fbd6.tar.xz
gc: disallow close on receive-only channels
Fixes #2353. Fixes #2246. R=golang-dev, r, gri CC=golang-dev https://golang.org/cl/5282042
Diffstat (limited to 'src/pkg/runtime')
-rw-r--r--src/pkg/runtime/chan.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/pkg/runtime/chan.c b/src/pkg/runtime/chan.c
index cc056f65f1..475da233c1 100644
--- a/src/pkg/runtime/chan.c
+++ b/src/pkg/runtime/chan.c
@@ -1052,6 +1052,9 @@ runtime·closechan(Hchan *c)
SudoG *sg;
G* gp;
+ if(c == nil)
+ runtime·panicstring("close of nil channel");
+
if(runtime·gcwaiting)
runtime·gosched();