From 1ef1a68948d627334292dbd8d045e29d59c5f547 Mon Sep 17 00:00:00 2001 From: BvBeJ Date: Thu, 27 Feb 2025 15:41:45 +0800 Subject: [PATCH] =?UTF-8?q?[=F0=9F=9A=80]=20v0.12.22?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/lock/lock.go | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 pkg/lock/lock.go diff --git a/pkg/lock/lock.go b/pkg/lock/lock.go deleted file mode 100644 index 498874c..0000000 --- a/pkg/lock/lock.go +++ /dev/null @@ -1,47 +0,0 @@ -package lock - -import ( - "sync" - "sync/atomic" -) - -var _ Locker = (*locker)(nil) - -type Locker interface { - condition() bool - Lock() - Unlock() -} - -type locker struct { - lock *sync.Mutex - cond *sync.Cond - v *atomic.Bool -} - -func NewLocker() Locker { - lock := new(sync.Mutex) - return &locker{ - lock: lock, - cond: sync.NewCond(lock), - v: new(atomic.Bool), - } -} - -func (l *locker) condition() bool { - return l.v.Load() -} - -func (l *locker) Lock() { - l.cond.L.Lock() - for l.condition() { - l.cond.Wait() - } - l.v.Store(true) -} - -func (l *locker) Unlock() { - l.v.Store(false) - l.cond.L.Unlock() - l.cond.Signal() -} -- 2.34.1