From 78c216486ffb1ed76c28b91bcc0546060fdd8c09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20T=C3=B3th?= Date: Thu, 20 Aug 2020 17:07:05 +0200 Subject: [PATCH] Make granule of reuse the granule of release (avoid exporting 30 lines) --- afterlock/afterlock.go | 9 ++++----- {atomicflag => afterlock}/atomicflag.go | 8 ++++++-- 2 files changed, 10 insertions(+), 7 deletions(-) rename {atomicflag => afterlock}/atomicflag.go (61%) diff --git a/afterlock/afterlock.go b/afterlock/afterlock.go index 7b9fbbe..74360aa 100644 --- a/afterlock/afterlock.go +++ b/afterlock/afterlock.go @@ -1,7 +1,6 @@ package afterlock import( - "after-lock/atomicflag" "time" "sync" "errors" @@ -30,8 +29,8 @@ type AfterLock struct { LoopDelay uint keyboardDeviceNode string wg sync.WaitGroup - stopFlag *atomicflag.AtomicFlag - keypressFlag *atomicflag.AtomicFlag + stopFlag *AtomicFlag + keypressFlag *AtomicFlag Display Display LockScreen Lockscreen KeypressDetector KeypressDetector @@ -41,8 +40,8 @@ type AfterLock struct { func New(keyboardDeviceNode string) *AfterLock { return &AfterLock{ keyboardDeviceNode: keyboardDeviceNode, - stopFlag: atomicflag.New(false), - keypressFlag: atomicflag.New(false), + stopFlag: NewAtomicFlag(false), + keypressFlag: NewAtomicFlag(false), } } diff --git a/atomicflag/atomicflag.go b/afterlock/atomicflag.go similarity index 61% rename from atomicflag/atomicflag.go rename to afterlock/atomicflag.go index 246cd9f..bd1c275 100644 --- a/atomicflag/atomicflag.go +++ b/afterlock/atomicflag.go @@ -1,25 +1,29 @@ -package atomicflag +package afterlock import ( "sync" ) +// AtomicFlag implements a simple, thread-safe boolean flag type AtomicFlag struct { value bool mutex sync.RWMutex } -func New(value bool) *AtomicFlag { +// NewAtomicFlag builds a new instance +func NewAtomicFlag(value bool) *AtomicFlag { return &AtomicFlag{value: value} } +// Get the flag func (f *AtomicFlag) Get() bool { f.mutex.RLock() defer f.mutex.RUnlock() return f.value } +// Set the flag func (f *AtomicFlag) Set(value bool) { f.mutex.Lock() defer f.mutex.Unlock()