From a918aa97d9ca8543275a6fe6add8e25bc3046dec Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Sat, 29 Nov 2014 22:22:50 +0100 Subject: [PATCH] Data race: deviceActivity methods with value receiver :( --- internal/model/deviceactivity.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/model/deviceactivity.go b/internal/model/deviceactivity.go index b94f1ec9..19d84400 100644 --- a/internal/model/deviceactivity.go +++ b/internal/model/deviceactivity.go @@ -35,7 +35,7 @@ func newDeviceActivity() *deviceActivity { } } -func (m deviceActivity) leastBusy(availability []protocol.DeviceID) protocol.DeviceID { +func (m *deviceActivity) leastBusy(availability []protocol.DeviceID) protocol.DeviceID { m.mut.Lock() var low int = 2<<30 - 1 var selected protocol.DeviceID @@ -49,14 +49,14 @@ func (m deviceActivity) leastBusy(availability []protocol.DeviceID) protocol.Dev return selected } -func (m deviceActivity) using(device protocol.DeviceID) { +func (m *deviceActivity) using(device protocol.DeviceID) { m.mut.Lock() - defer m.mut.Unlock() m.act[device]++ + m.mut.Unlock() } -func (m deviceActivity) done(device protocol.DeviceID) { +func (m *deviceActivity) done(device protocol.DeviceID) { m.mut.Lock() - defer m.mut.Unlock() m.act[device]-- + m.mut.Unlock() }