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:04:47 +0100
commit30fe2cf514d982c8bef75ff99d7b5d5928998900 (patch)
tree4b3997100dd104d56487ea7282fbc4f540ac8c50
parentd0e407f3c3d4a991dbbd2b0377da088aceb6b861 (diff)
downloadsyncthing-30fe2cf514d982c8bef75ff99d7b5d5928998900.tar.gz
syncthing-30fe2cf514d982c8bef75ff99d7b5d5928998900.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()