]> Cypherpunks repositories - gostls13.git/commitdiff
io: use SetFinalizer more elegantly in Pipe
authorChristopher Wedgwood <cw@f00f.org>
Fri, 5 Nov 2010 19:05:39 +0000 (15:05 -0400)
committerRuss Cox <rsc@golang.org>
Fri, 5 Nov 2010 19:05:39 +0000 (15:05 -0400)
(this works now that issue 751 is resolved)

R=rsc
CC=golang-dev
https://golang.org/cl/2834041

src/pkg/io/pipe.go

index ad949cc6c5a18b066b8f9cffdd9a48dbf16e9437..df76418b93da55d722fbd3090c14efcf3eadb545 100644 (file)
@@ -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
 }