From 82d23b9bf8ffdced9d01e0ca3de10460f5076931 Mon Sep 17 00:00:00 2001 From: Ta-Ching Chen Date: Tue, 11 Sep 2018 14:15:56 +0800 Subject: [PATCH] Fix fetcher not close file descriptor correctly (#889) * Fix fetcher not close file descriptor correctly * Call Sync() before chmod --- environments/fetcher/fetcher.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/environments/fetcher/fetcher.go b/environments/fetcher/fetcher.go index 5287a7a3..dda87a4a 100644 --- a/environments/fetcher/fetcher.go +++ b/environments/fetcher/fetcher.go @@ -105,10 +105,19 @@ func downloadUrl(url string, localPath string) error { if err != nil { return err } + defer w.Close() + _, err = io.Copy(w, resp.Body) if err != nil { return err } + + // flushing write buffer to file + err = w.Sync() + if err != nil { + return err + } + err = os.Chmod(localPath, 0600) if err != nil { return err