mirror of
https://github.com/golang/go
synced 2024-11-21 22:04:39 -07:00
io: use SetFinalizer more elegantly in Pipe
(this works now that issue 751 is resolved) R=rsc CC=golang-dev https://golang.org/cl/2834041
This commit is contained in:
parent
c9d39dca8d
commit
6101788972
@ -292,20 +292,14 @@ func Pipe() (*PipeReader, *PipeWriter) {
|
|||||||
r.c2 = p.r2
|
r.c2 = p.r2
|
||||||
r.cclose = p.rclose
|
r.cclose = p.rclose
|
||||||
r.done = p.done
|
r.done = p.done
|
||||||
// TODO(rsc): Should be able to write
|
runtime.SetFinalizer(r, (*PipeReader).finalizer)
|
||||||
// runtime.SetFinalizer(r, (*PipeReader).finalizer)
|
|
||||||
// but 6g doesn't see the finalizer method.
|
|
||||||
runtime.SetFinalizer(&r.pipeHalf, (*pipeHalf).finalizer)
|
|
||||||
|
|
||||||
w := new(PipeWriter)
|
w := new(PipeWriter)
|
||||||
w.c1 = p.w1
|
w.c1 = p.w1
|
||||||
w.c2 = p.w2
|
w.c2 = p.w2
|
||||||
w.cclose = p.wclose
|
w.cclose = p.wclose
|
||||||
w.done = p.done
|
w.done = p.done
|
||||||
// TODO(rsc): Should be able to write
|
runtime.SetFinalizer(w, (*PipeWriter).finalizer)
|
||||||
// runtime.SetFinalizer(w, (*PipeWriter).finalizer)
|
|
||||||
// but 6g doesn't see the finalizer method.
|
|
||||||
runtime.SetFinalizer(&w.pipeHalf, (*pipeHalf).finalizer)
|
|
||||||
|
|
||||||
return r, w
|
return r, w
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user