mirror of
https://github.com/golang/go
synced 2024-11-20 04:54:44 -07:00
explain selectsend problem
R=ken OCL=31865 CL=31867
This commit is contained in:
parent
f687fb7e73
commit
f664d0e904
@ -606,7 +606,10 @@ reswitch:
|
|||||||
ll = ascompatte(n->op, getinarg(t), n->list, 0, init);
|
ll = ascompatte(n->op, getinarg(t), n->list, 0, init);
|
||||||
n->list = reorder1(ll);
|
n->list = reorder1(ll);
|
||||||
if(isselect(n)) {
|
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;
|
Node *b;
|
||||||
b = nodbool(0);
|
b = nodbool(0);
|
||||||
lr = ascompatte(n->op, getoutarg(t), list1(b), 0, init);
|
lr = ascompatte(n->op, getoutarg(t), list1(b), 0, init);
|
||||||
|
Loading…
Reference in New Issue
Block a user