@cryptotaxi247 / kubo / commits / 061a86630

ensure dagreaders are cleaned up after 'cat' command finishes

Jeromy committed Feb 2, 2015 at 04:23 UTC 061a8663067ca90c5de758633ee5d63bbdd16de3
1 file changed +4 -5
core/commands/cat.go
+4 -5
@@ -8,6 +8,7 @@ import (
8 path "github.com/jbenet/go-ipfs/path"
9 uio "github.com/jbenet/go-ipfs/unixfs/io"
10
11 + context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
12 "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/cheggaaa/pb"
13 )
14
@@ -32,9 +33,7 @@ it contains.
33 return
34 }
35
35 - readers := make([]io.Reader, 0, len(req.Arguments()))
36 -
37 - readers, length, err := cat(node, req.Arguments())
36 + readers, length, err := cat(req.Context().Context, node, req.Arguments())
37 if err != nil {
38 res.SetError(err, cmds.ErrNormal)
39 return
@@ -59,7 +58,7 @@ it contains.
58 },
59 }
60
62 -func cat(node *core.IpfsNode, paths []string) ([]io.Reader, uint64, error) {
61 +func cat(ctx context.Context, node *core.IpfsNode, paths []string) ([]io.Reader, uint64, error) {
62 readers := make([]io.Reader, 0, len(paths))
63 length := uint64(0)
64 for _, fpath := range paths {
@@ -68,7 +67,7 @@ func cat(node *core.IpfsNode, paths []string) ([]io.Reader, uint64, error) {
67 return nil, 0, err
68 }
69
71 - read, err := uio.NewDagReader(node.Context(), dagnode, node.DAG)
70 + read, err := uio.NewDagReader(ctx, dagnode, node.DAG)
71 if err != nil {
72 return nil, 0, err
73 }