Explorar el Código

lib/model: Add pmut locking for DeviceStatistics (fixes #9274)

Looking at deviceConnIDs requires this. Added in #9256.
Jakob Borg hace 2 años
padre
commit
30fe2cf514
Se han modificado 1 ficheros con 2 adiciones y 0 borrados
  1. 2 0
      lib/model/model.go

+ 2 - 0
lib/model/model.go

@@ -812,6 +812,8 @@ func (m *model) ConnectionStats() map[string]interface{} {
 func (m *model) DeviceStatistics() (map[protocol.DeviceID]stats.DeviceStatistics, error) {
 func (m *model) DeviceStatistics() (map[protocol.DeviceID]stats.DeviceStatistics, error) {
 	m.fmut.RLock()
 	m.fmut.RLock()
 	defer m.fmut.RUnlock()
 	defer m.fmut.RUnlock()
+	m.pmut.RLock()
+	defer m.pmut.RUnlock()
 	res := make(map[protocol.DeviceID]stats.DeviceStatistics, len(m.deviceStatRefs))
 	res := make(map[protocol.DeviceID]stats.DeviceStatistics, len(m.deviceStatRefs))
 	for id, sr := range m.deviceStatRefs {
 	for id, sr := range m.deviceStatRefs {
 		stats, err := sr.GetStatistics()
 		stats, err := sr.GetStatistics()