aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-05-17 08:56:33 -0700
committerChris Lu <chris.lu@gmail.com>2020-05-17 08:56:33 -0700
commit1ea9bc66d96030720e465bd283ad1eeff16724da (patch)
treec6958f3f0563992dbc457f27d9a7e0bd13cade5e
parent85b53ac510aca494f8a3d18bb15b829971795b15 (diff)
downloadseaweedfs-1ea9bc66d96030720e465bd283ad1eeff16724da.tar.xz
seaweedfs-1ea9bc66d96030720e465bd283ad1eeff16724da.zip
avoid leaking grpc.NewClientStream
-rw-r--r--weed/pb/filer_pb/filer_client.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/weed/pb/filer_pb/filer_client.go b/weed/pb/filer_pb/filer_client.go
index 73b66472d..d42e20b34 100644
--- a/weed/pb/filer_pb/filer_client.go
+++ b/weed/pb/filer_pb/filer_client.go
@@ -83,10 +83,12 @@ func doList(filerClient FilerClient, fullDirPath util.FullPath, prefix string, f
}
glog.V(3).Infof("read directory: %v", request)
- stream, err := client.ListEntries(context.Background(), request)
+ ctx, cancel := context.WithCancel(context.Background())
+ stream, err := client.ListEntries(ctx, request)
if err != nil {
return fmt.Errorf("list %s: %v", fullDirPath, err)
}
+ defer cancel()
var prevEntry *Entry
for {