1
0
mirror of https://github.com/golang/go synced 2024-10-03 06:21:21 -06:00

explain selectsend problem

R=ken
OCL=31865
CL=31867
This commit is contained in:
Russ Cox 2009-07-20 13:29:56 -07:00
parent f687fb7e73
commit f664d0e904

View File

@ -606,7 +606,10 @@ reswitch:
ll = ascompatte(n->op, getinarg(t), n->list, 0, init);
n->list = reorder1(ll);
if(isselect(n)) {
// clear output bool - special prob with selectsend
// special prob with selectsend and selectrecv:
// if chan is nil, they don't know big the channel
// element is and therefore don't know how to find
// the output bool, so we clear it before the call.
Node *b;
b = nodbool(0);
lr = ascompatte(n->op, getoutarg(t), list1(b), 0, init);