X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/1d1c6de3c842a33a57b7d469fdaaaa1b873433dc..44c2e41fec0beeab4544103d0a4afb9a775ed706:/sdk/go/keepclient/collectionreader.go?ds=sidebyside diff --git a/sdk/go/keepclient/collectionreader.go b/sdk/go/keepclient/collectionreader.go index b532a1642b..bed60f4995 100644 --- a/sdk/go/keepclient/collectionreader.go +++ b/sdk/go/keepclient/collectionreader.go @@ -40,6 +40,10 @@ func (kc *KeepClient) CollectionFileReader(collection map[string]interface{}, fi return nil, ErrNoManifest } m := manifest.Manifest{Text: mText} + return kc.ManifestFileReader(m, filename) +} + +func (kc *KeepClient) ManifestFileReader(m manifest.Manifest, filename string) (ReadCloserWithLen, error) { rdrChan := make(chan *cfReader) go kc.queueSegmentsToGet(m, filename, rdrChan) r, ok := <-rdrChan @@ -205,6 +209,10 @@ GET: } var buf = make([]byte, fs.Offset+fs.Len) _, err = io.ReadFull(rdr, buf) + errClosing := rdr.Close() + if err == nil { + err = errClosing + } if err != nil { r.err = err close(r.errNotNil)