aboutsummaryrefslogtreecommitdiff
path: root/weed/filer/stream.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/filer/stream.go')
-rw-r--r--weed/filer/stream.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/weed/filer/stream.go b/weed/filer/stream.go
index b2ee00555..00539ca20 100644
--- a/weed/filer/stream.go
+++ b/weed/filer/stream.go
@@ -245,6 +245,7 @@ type ChunkStreamReader struct {
var _ = io.ReadSeeker(&ChunkStreamReader{})
var _ = io.ReaderAt(&ChunkStreamReader{})
+var _ = io.Closer(&ChunkStreamReader{})
func doNewChunkStreamReader(ctx context.Context, lookupFileIdFn wdclient.LookupFileIdFunctionType, chunks []*filer_pb.FileChunk) *ChunkStreamReader {
@@ -403,8 +404,13 @@ func (c *ChunkStreamReader) fetchChunkToBuffer(chunkView *ChunkView) error {
return nil
}
-func (c *ChunkStreamReader) Close() {
- // TODO try to release and reuse buffer
+func (c *ChunkStreamReader) Close() error {
+ c.bufferLock.Lock()
+ defer c.bufferLock.Unlock()
+ c.buffer = nil
+ c.head = nil
+ c.chunkView = nil
+ return nil
}
func VolumeId(fileId string) string {