Simplify fake controller lock

This commit is contained in:
Daniel Martí 2015-09-26 11:52:17 -07:00
parent d49ca164ef
commit 011db554e5

View File

@ -37,7 +37,7 @@ func NewFakeControllerSource() *FakeControllerSource {
// FakeControllerSource implements listing/watching for testing.
type FakeControllerSource struct {
lock sync.RWMutex
sync.RWMutex
items map[nnu]runtime.Object
changes []watch.Event // one change per resourceVersion
broadcaster *watch.Broadcaster
@ -95,8 +95,8 @@ func (f *FakeControllerSource) key(meta *api.ObjectMeta) nnu {
// Change records the given event (setting the object's resource version) and
// sends a watch event with the specified probability.
func (f *FakeControllerSource) Change(e watch.Event, watchProbability float64) {
f.lock.Lock()
defer f.lock.Unlock()
f.Lock()
defer f.Unlock()
objMeta, err := api.ObjectMetaFor(e.Object)
if err != nil {
@ -121,8 +121,8 @@ func (f *FakeControllerSource) Change(e watch.Event, watchProbability float64) {
// List returns a list object, with its resource version set.
func (f *FakeControllerSource) List() (runtime.Object, error) {
f.lock.RLock()
defer f.lock.RUnlock()
f.RLock()
defer f.RUnlock()
list := make([]runtime.Object, 0, len(f.items))
for _, obj := range f.items {
// Must make a copy to allow clients to modify the object.
@ -151,8 +151,8 @@ func (f *FakeControllerSource) List() (runtime.Object, error) {
// Watch returns a watch, which will be pre-populated with all changes
// after resourceVersion.
func (f *FakeControllerSource) Watch(resourceVersion string) (watch.Interface, error) {
f.lock.RLock()
defer f.lock.RUnlock()
f.RLock()
defer f.RUnlock()
rc, err := strconv.Atoi(resourceVersion)
if err != nil {
return nil, err