From fb0df935f672769f0435d84a0d40756fc901a094 Mon Sep 17 00:00:00 2001 From: Daniel Smith Date: Tue, 14 Apr 2015 15:59:50 -0700 Subject: [PATCH] add missing syncronization --- plugin/pkg/scheduler/factory/factory.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/plugin/pkg/scheduler/factory/factory.go b/plugin/pkg/scheduler/factory/factory.go index 83d997b2611..97a76fc04a0 100644 --- a/plugin/pkg/scheduler/factory/factory.go +++ b/plugin/pkg/scheduler/factory/factory.go @@ -84,16 +84,20 @@ func NewConfigFactory(client *client.Client) *ConfigFactory { framework.ResourceEventHandlerFuncs{ AddFunc: func(obj interface{}) { if pod, ok := obj.(*api.Pod); ok { - c.modeler.ForgetPod(pod) + c.modeler.LockedAction(func() { + c.modeler.ForgetPod(pod) + }) } }, DeleteFunc: func(obj interface{}) { - switch t := obj.(type) { - case *api.Pod: - c.modeler.ForgetPod(t) - case cache.DeletedFinalStateUnknown: - c.modeler.ForgetPodByKey(t.Key) - } + c.modeler.LockedAction(func() { + switch t := obj.(type) { + case *api.Pod: + c.modeler.ForgetPod(t) + case cache.DeletedFinalStateUnknown: + c.modeler.ForgetPodByKey(t.Key) + } + }) }, }, )