diff --git a/internal/caches/writer_file.go b/internal/caches/writer_file.go index 4949eff..49c957c 100644 --- a/internal/caches/writer_file.go +++ b/internal/caches/writer_file.go @@ -138,18 +138,24 @@ func (this *FileWriter) Close() error { err := this.WriteHeaderLength(types.Int(this.headerSize)) if err != nil { + fsutils.WriteBegin() _ = this.rawWriter.Close() + fsutils.WriteEnd() _ = os.Remove(path) return err } err = this.WriteBodyLength(this.bodySize) if err != nil { + fsutils.WriteBegin() _ = this.rawWriter.Close() + fsutils.WriteEnd() _ = os.Remove(path) return err } + fsutils.WriteBegin() err = this.rawWriter.Close() + fsutils.WriteEnd() if err != nil { _ = os.Remove(path) } else if strings.HasSuffix(path, FileTmpSuffix) { @@ -168,7 +174,9 @@ func (this *FileWriter) Discard() error { this.endFunc() }) + fsutils.WriteBegin() _ = this.rawWriter.Close() + fsutils.WriteEnd() err := os.Remove(this.rawWriter.Name()) return err diff --git a/internal/caches/writer_partial_file.go b/internal/caches/writer_partial_file.go index cf4b3fd..0b07394 100644 --- a/internal/caches/writer_partial_file.go +++ b/internal/caches/writer_partial_file.go @@ -181,7 +181,9 @@ func (this *PartialFileWriter) Close() error { this.ranges.BodySize = this.bodySize err := this.ranges.WriteToFile(this.rangePath) if err != nil { + fsutils.WriteBegin() _ = this.rawWriter.Close() + fsutils.WriteEnd() this.remove() return err } @@ -190,19 +192,25 @@ func (this *PartialFileWriter) Close() error { if this.isNew { err = this.WriteHeaderLength(types.Int(this.headerSize)) if err != nil { + fsutils.WriteBegin() _ = this.rawWriter.Close() + fsutils.WriteEnd() this.remove() return err } err = this.WriteBodyLength(this.bodySize) if err != nil { + fsutils.WriteBegin() _ = this.rawWriter.Close() + fsutils.WriteEnd() this.remove() return err } } + fsutils.WriteBegin() err = this.rawWriter.Close() + fsutils.WriteEnd() if err != nil { this.remove() } @@ -216,7 +224,9 @@ func (this *PartialFileWriter) Discard() error { this.endFunc() }) + fsutils.WriteBegin() _ = this.rawWriter.Close() + fsutils.WriteEnd() _ = os.Remove(this.rangePath)