aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Borg <jakob@kastelo.net>2023-12-11 08:02:25 +0100
committerJakob Borg <jakob@kastelo.net>2023-12-11 08:06:03 +0100
commit48883e0e32b117030e58ac6d89c267e48da8bb38 (patch)
tree33308c95ccf9bb4ee04f274c3a9a7743da1286d2
parent3850a08252ecc5fdd8a5f3257628d3f03f2cd641 (diff)
downloadsyncthing-48883e0e32b117030e58ac6d89c267e48da8bb38.tar.gz
syncthing-48883e0e32b117030e58ac6d89c267e48da8bb38.zip
lib/model: Add pmut locking for DeviceStatistics (fixes #9274)
Looking at deviceConnIDs requires this. Added in #9256.
-rw-r--r--lib/model/model.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/model/model.go b/lib/model/model.go
index 878ef9d73..bd87968d9 100644
--- a/lib/model/model.go
+++ b/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) {
m.fmut.RLock()
defer m.fmut.RUnlock()
+ m.pmut.RLock()
+ defer m.pmut.RUnlock()
res := make(map[protocol.DeviceID]stats.DeviceStatistics, len(m.deviceStatRefs))
for id, sr := range m.deviceStatRefs {
stats, err := sr.GetStatistics()