aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/util/lock_table.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/weed/util/lock_table.go b/weed/util/lock_table.go
index fd6e1987a..8ec93f7e7 100644
--- a/weed/util/lock_table.go
+++ b/weed/util/lock_table.go
@@ -135,7 +135,7 @@ func (lt *LockTable[T]) ReleaseLock(key T, lock *ActiveLock) {
}
// If there are no waiters, release the lock
- if len(entry.waiters) == 0 {
+ if len(entry.waiters) == 0 && entry.activeExclusiveLockOwnerCount <= 0 && entry.activeSharedLockOwnerCount <= 0 {
delete(lt.locks, key)
}