فهرست منبع

Merge pull request #1513 from gtardif/fix_concurrent_map_writes

Avoid panic: concurrent map writes
Nicolas De loof 4 سال پیش
والد
کامیت
d37dffe5e2
1فایلهای تغییر یافته به همراه4 افزوده شده و 0 حذف شده
  1. 4 0
      local/compose/images.go

+ 4 - 0
local/compose/images.go

@@ -20,6 +20,7 @@ import (
 	"context"
 	"fmt"
 	"strings"
+	"sync"
 
 	moby "github.com/docker/docker/api/types"
 	"github.com/docker/docker/api/types/filters"
@@ -58,6 +59,7 @@ func (s *composeService) Images(ctx context.Context, projectName string, options
 	}
 
 	images := map[string]moby.ImageInspect{}
+	l := sync.Mutex{}
 	eg, ctx := errgroup.WithContext(ctx)
 	for _, img := range imageIDs {
 		img := img
@@ -66,7 +68,9 @@ func (s *composeService) Images(ctx context.Context, projectName string, options
 			if err != nil {
 				return err
 			}
+			l.Lock()
 			images[img] = inspect
+			l.Unlock()
 			return nil
 		})
 	}