Shouldn't this `CloseWrite` to pass the EOF along?

`CloseRead` is a `shutdown(2)` with `how=SHUT_RD` which won't send a FIN packet, it will just unblock other local readers and prevents them from reading more.