@@ -116,20 +116,22 @@ func downloadWorker(id int, arg downloadWorkerArg, jobs <-chan downloadPart, res
failed <- err
break
}
- defer fd.Close()
_, err = fd.Seek(part.Start-part.Offset, os.SEEK_SET)
if err != nil {
+ fd.Close()
_, err = io.Copy(fd, rd)
results <- part