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() }