Fix missing unlock in *healSequence.hasEnded() (#10305)

The background healing sequence would always hang when this function is called.
This commit is contained in:
Klaus Post 2020-08-20 08:48:09 -07:00 committed by GitHub
parent 98ca770f81
commit 95ae6c4b49
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -502,13 +502,12 @@ func (h *healSequence) isQuitting() bool {
// check if the heal sequence has ended
func (h *healSequence) hasEnded() bool {
h.mutex.RLock()
defer h.mutex.RUnlock()
// background heal never ends
if h.clientToken == bgHealingUUID {
return false
}
ended := len(h.currentStatus.Items) == 0 || h.currentStatus.Summary == healStoppedStatus || h.currentStatus.Summary == healFinishedStatus
h.mutex.RUnlock()
return ended
return len(h.currentStatus.Items) == 0 || h.currentStatus.Summary == healStoppedStatus || h.currentStatus.Summary == healFinishedStatus
}
// stops the heal sequence - safe to call multiple times.