Parcourir la source

Merge pull request #14413 from vbatts/vbatts-graph-cleanup

graph: comment clarification about shadowed `err`
Arnaud Porterie il y a 10 ans
Parent
commit
a192105d3b
1 fichiers modifiés avec 3 ajouts et 1 suppressions
  1. 3 1
      graph/graph.go

+ 3 - 1
graph/graph.go

@@ -177,6 +177,7 @@ func (graph *Graph) Create(layerData archive.ArchiveReader, containerID, contain
 
 // Register imports a pre-existing image into the graph.
 func (graph *Graph) Register(img *Image, layerData archive.ArchiveReader) (err error) {
+
 	if err := image.ValidateID(img.ID); err != nil {
 		return err
 	}
@@ -186,10 +187,11 @@ func (graph *Graph) Register(img *Image, layerData archive.ArchiveReader) (err e
 	graph.imageMutex.Lock(img.ID)
 	defer graph.imageMutex.Unlock(img.ID)
 
+	// The returned `error` must be named in this function's signature so that
+	// `err` is not shadowed in this deferred cleanup.
 	defer func() {
 		// If any error occurs, remove the new dir from the driver.
 		// Don't check for errors since the dir might not have been created.
-		// FIXME: this leaves a possible race condition.
 		if err != nil {
 			graph.driver.Remove(img.ID)
 		}