瀏覽代碼

Merge pull request #979 from LK4D4/fix_stats_race

Fix race in Statistics
Santhosh Manohar 9 年之前
父節點
當前提交
450e8e24a1
共有 1 個文件被更改,包括 5 次插入2 次删除
  1. 5 2
      libnetwork/sandbox.go

+ 5 - 2
libnetwork/sandbox.go

@@ -142,12 +142,15 @@ func (sb *sandbox) Labels() map[string]interface{} {
 func (sb *sandbox) Statistics() (map[string]*types.InterfaceStatistics, error) {
 	m := make(map[string]*types.InterfaceStatistics)
 
-	if sb.osSbox == nil {
+	sb.Lock()
+	osb := sb.osSbox
+	sb.Unlock()
+	if osb == nil {
 		return m, nil
 	}
 
 	var err error
-	for _, i := range sb.osSbox.Info().Interfaces() {
+	for _, i := range osb.Info().Interfaces() {
 		if m[i.DstName()], err = i.Statistics(); err != nil {
 			return m, err
 		}