From: Christopher Wedgwood Date: Fri, 5 Nov 2010 19:05:39 +0000 (-0400) Subject: io: use SetFinalizer more elegantly in Pipe X-Git-Tag: weekly.2010-11-10~21 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=6101788972fedda42c13791bfac5ffa1218028ed;p=gostls13.git 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 --- diff --git a/src/pkg/io/pipe.go b/src/pkg/io/pipe.go index ad949cc6c5..df76418b93 100644 --- a/src/pkg/io/pipe.go +++ b/src/pkg/io/pipe.go @@ -292,20 +292,14 @@ func Pipe() (*PipeReader, *PipeWriter) { r.c2 = p.r2 r.cclose = p.rclose r.done = p.done - // TODO(rsc): Should be able to write - // runtime.SetFinalizer(r, (*PipeReader).finalizer) - // but 6g doesn't see the finalizer method. - runtime.SetFinalizer(&r.pipeHalf, (*pipeHalf).finalizer) + runtime.SetFinalizer(r, (*PipeReader).finalizer) w := new(PipeWriter) w.c1 = p.w1 w.c2 = p.w2 w.cclose = p.wclose w.done = p.done - // TODO(rsc): Should be able to write - // runtime.SetFinalizer(w, (*PipeWriter).finalizer) - // but 6g doesn't see the finalizer method. - runtime.SetFinalizer(&w.pipeHalf, (*pipeHalf).finalizer) + runtime.SetFinalizer(w, (*PipeWriter).finalizer) return r, w }