Browse Source

No need to hold a write lock in Override

Jakob Borg 11 years ago
parent
commit
db3e3ade80
1 changed files with 3 additions and 2 deletions
  1. 3 2
      model/model.go

+ 3 - 2
model/model.go

@@ -858,8 +858,10 @@ func (m *Model) State(repo string) string {
 func (m *Model) Override(repo string) {
 	fs := m.NeedFilesRepo(repo)
 
-	m.rmut.Lock()
+	m.rmut.RLock()
 	r := m.repoFiles[repo]
+	m.rmut.RUnlock()
+
 	for i := range fs {
 		f := &fs[i]
 		h := r.Get(cid.LocalID, f.Name)
@@ -873,7 +875,6 @@ func (m *Model) Override(repo string) {
 		}
 		f.Version = lamport.Default.Tick(f.Version)
 	}
-	m.rmut.Unlock()
 
 	r.Update(cid.LocalID, fs)
 }