Prechádzať zdrojové kódy

Merge pull request #22120 from crosbymichael/stats-panic

Create a copy of stats value before modifications
Michael Crosby 9 rokov pred
rodič
commit
eed9c930b8
2 zmenil súbory, kde vykonal 3 pridanie a 3 odobranie
  1. 2 2
      daemon/stats.go
  2. 1 1
      daemon/stats_collector_unix.go

+ 2 - 2
daemon/stats.go

@@ -43,11 +43,11 @@ func (daemon *Daemon) ContainerStats(ctx context.Context, prefixOrName string, c
 
 
 	var preCPUStats types.CPUStats
 	var preCPUStats types.CPUStats
 	getStatJSON := func(v interface{}) *types.StatsJSON {
 	getStatJSON := func(v interface{}) *types.StatsJSON {
-		ss := v.(*types.StatsJSON)
+		ss := v.(types.StatsJSON)
 		ss.PreCPUStats = preCPUStats
 		ss.PreCPUStats = preCPUStats
 		// ss.MemoryStats.Limit = uint64(update.MemoryLimit)
 		// ss.MemoryStats.Limit = uint64(update.MemoryLimit)
 		preCPUStats = ss.CPUStats
 		preCPUStats = ss.CPUStats
-		return ss
+		return &ss
 	}
 	}
 
 
 	enc := json.NewEncoder(outStream)
 	enc := json.NewEncoder(outStream)

+ 1 - 1
daemon/stats_collector_unix.go

@@ -135,7 +135,7 @@ func (s *statsCollector) run() {
 			// FIXME: move to containerd
 			// FIXME: move to containerd
 			stats.CPUStats.SystemUsage = systemUsage
 			stats.CPUStats.SystemUsage = systemUsage
 
 
-			pair.publisher.Publish(stats)
+			pair.publisher.Publish(*stats)
 		}
 		}
 	}
 	}
 }
 }