From aeff2242f8b8fe51bb02539bf73b90bb6cf2ed1b Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Fri, 27 Nov 2020 11:34:36 +1100 Subject: Use sync.Once instead of checking for nil --- internal/serving/disk/zip/serving.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'internal/serving') diff --git a/internal/serving/disk/zip/serving.go b/internal/serving/disk/zip/serving.go index b552050c..61d186da 100644 --- a/internal/serving/disk/zip/serving.go +++ b/internal/serving/disk/zip/serving.go @@ -1,6 +1,8 @@ package zip import ( + "sync" + "gitlab.com/gitlab-org/gitlab-pages/internal/config" "gitlab.com/gitlab-org/gitlab-pages/internal/serving" "gitlab.com/gitlab-org/gitlab-pages/internal/serving/disk" @@ -9,13 +11,14 @@ import ( ) var instance serving.Serving +var once sync.Once // Instance returns a serving instance that is capable of reading files // from a zip archives opened from a URL, most likely stored in object storage func Instance() serving.Serving { - if instance == nil { + once.Do(func() { instance = disk.New(vfs.Instrumented(zip.New(config.Default.Zip))) - } + }) return instance } -- cgit v1.2.3