From 0a92ba66fa3b610e8806df15f2eddc8a5c745b81 Mon Sep 17 00:00:00 2001 From: Gyuho Lee Date: Thu, 12 Apr 2018 13:21:52 -0700 Subject: [PATCH] functional/tester: fix racey map writes Signed-off-by: Gyuho Lee --- functional/tester/stresser_composite.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/functional/tester/stresser_composite.go b/functional/tester/stresser_composite.go index 6492458a2..09dcb55ff 100644 --- a/functional/tester/stresser_composite.go +++ b/functional/tester/stresser_composite.go @@ -35,6 +35,7 @@ func (cs *compositeStresser) Stress() error { } func (cs *compositeStresser) Pause() (ems map[string]int) { + var emu sync.Mutex ems = make(map[string]int) var wg sync.WaitGroup wg.Add(len(cs.stressers)) @@ -43,7 +44,9 @@ func (cs *compositeStresser) Pause() (ems map[string]int) { defer wg.Done() errs := s.Pause() for k, v := range errs { + emu.Lock() ems[k] += v + emu.Unlock() } }(cs.stressers[i]) } @@ -52,6 +55,7 @@ func (cs *compositeStresser) Pause() (ems map[string]int) { } func (cs *compositeStresser) Close() (ems map[string]int) { + var emu sync.Mutex ems = make(map[string]int) var wg sync.WaitGroup wg.Add(len(cs.stressers)) @@ -60,7 +64,9 @@ func (cs *compositeStresser) Close() (ems map[string]int) { defer wg.Done() errs := s.Close() for k, v := range errs { + emu.Lock() ems[k] += v + emu.Unlock() } }(cs.stressers[i]) }