Reorder locking to avoid deadlock (fixes #64)

This commit is contained in:
Jakob Borg 2014-02-13 11:33:32 +01:00
parent 5daf6ecf70
commit c171780c0d

View File

@ -220,10 +220,10 @@ func (q *FileQueue) SetAvailable(file string, nodes []string) {
} }
func (q *FileQueue) RemoveAvailable(toRemove string) { func (q *FileQueue) RemoveAvailable(toRemove string) {
q.amut.Lock()
q.fmut.Lock() q.fmut.Lock()
defer q.fmut.Unlock() q.amut.Lock()
defer q.amut.Unlock() defer q.amut.Unlock()
defer q.fmut.Unlock()
for file, nodes := range q.availability { for file, nodes := range q.availability {
for i, node := range nodes { for i, node := range nodes {