aboutsummaryrefslogtreecommitdiff
path: root/weed/cluster/lock_manager/lock_manager.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/cluster/lock_manager/lock_manager.go')
-rw-r--r--weed/cluster/lock_manager/lock_manager.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/weed/cluster/lock_manager/lock_manager.go b/weed/cluster/lock_manager/lock_manager.go
index acf5b93da..a619ccbbe 100644
--- a/weed/cluster/lock_manager/lock_manager.go
+++ b/weed/cluster/lock_manager/lock_manager.go
@@ -33,7 +33,7 @@ func NewLockManager() *LockManager {
return t
}
-func (lm *LockManager) Lock(path string, expiredAtNs int64, token string, owner string) (renewToken string, err error) {
+func (lm *LockManager) Lock(path string, expiredAtNs int64, token string, owner string) (lockOwner, renewToken string, err error) {
lm.locks.Compute(path, func(oldValue *Lock, loaded bool) (newValue *Lock, delete bool) {
if oldValue != nil {
if oldValue.ExpiredAtNs > 0 && oldValue.ExpiredAtNs < time.Now().UnixNano() {
@@ -48,6 +48,7 @@ func (lm *LockManager) Lock(path string, expiredAtNs int64, token string, owner
}
}
// not expired
+ lockOwner = oldValue.Owner
if oldValue.Token == token {
// token matches, renew the lock
renewToken = uuid.New().String()