• Russ Cox's avatar
    net: use chan bool instead of chan *netFD to avoid cycle · caa149f7
    Russ Cox authored
    The cycle is *netFD -> cw chanl *netFD in struct ->
    same *netFD in channel read buffer.
    
    Because channels are finalized, the cycle makes them
    uncollectable.  A better fix is to make channels not
    finalized anymore, and that will happen, but this is
    an easy, reasonable workaround until then.
    
    Another good fix would be to zero the channel receive
    buffer entry after the receive.  That too will happen.
    
    R=r
    CC=golang-dev
    https://golang.org/cl/875043
    caa149f7
fd.go 11.5 KB