From 7ecd8d7207fcaf8ce65dc56dd1a5fbacfa15e274 Mon Sep 17 00:00:00 2001 From: Brendan Burns Date: Mon, 6 Oct 2014 21:20:00 -0700 Subject: [PATCH] Fix a problem with for loops, copy semantics and async routines. --- pkg/kubelet/kubelet.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 2c1820abbaa..8efc65f27b0 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -635,8 +635,9 @@ func (kl *Kubelet) SyncPods(pods []Pod) error { } // Check for any containers that need starting - for _, pod := range pods { - podFullName := GetPodFullName(&pod) + for ix := range pods { + pod := &pods[ix] + podFullName := GetPodFullName(pod) uuid := pod.Manifest.UUID // Add all containers (including net) to the map. @@ -647,7 +648,7 @@ func (kl *Kubelet) SyncPods(pods []Pod) error { // Run the sync in an async manifest worker. kl.podWorkers.Run(podFullName, func() { - err := kl.syncPod(&pod, dockerContainers) + err := kl.syncPod(pod, dockerContainers) if err != nil { glog.Errorf("Error syncing pod: %v skipping.", err) }