From 36aab43e90eae807013f8c3b4d3fde9e82d1ad16 Mon Sep 17 00:00:00 2001 From: Trial97 Date: Fri, 16 Jul 2021 11:08:52 +0300 Subject: [PATCH] Updated guardian --- guardian/guardian.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/guardian/guardian.go b/guardian/guardian.go index 31b4be0d0..2b8bc1c1c 100644 --- a/guardian/guardian.go +++ b/guardian/guardian.go @@ -56,17 +56,11 @@ func (gl *GuardianLocker) lockItem(itmID string) { gl.lkMux.Lock() itmLock, exists := gl.locks[itmID] if !exists { - itmLock = &itemLock{lk: make(chan struct{}, 1)} - gl.locks[itmID] = itmLock - itmLock.lk <- struct{}{} - } - itmLock.cnt++ - select { - case <-itmLock.lk: + gl.locks[itmID] = &itemLock{lk: make(chan struct{}, 1), cnt: 1} gl.lkMux.Unlock() return - default: // move further so we can unlock } + itmLock.cnt++ gl.lkMux.Unlock() <-itmLock.lk }