summaryrefslogtreecommitdiff
path: root/src/atomicbool.go
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2015-01-02 04:49:30 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2015-01-04 00:37:29 +0900
commitf3177305d5572b26f135fc045481358b4eb1bf69 (patch)
treed59fd9587e44e998581a131875bf45e243df6c6e /src/atomicbool.go
parent7ba93d9f8351be64b37c65ae04d594ee261d5d26 (diff)
downloadfzf-f3177305d5572b26f135fc045481358b4eb1bf69.tar.gz
Rewrite fzf in Go
Diffstat (limited to 'src/atomicbool.go')
-rw-r--r--src/atomicbool.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/atomicbool.go b/src/atomicbool.go
new file mode 100644
index 00000000..f2f4894f
--- /dev/null
+++ b/src/atomicbool.go
@@ -0,0 +1,27 @@
+package fzf
+
+import "sync"
+
+type AtomicBool struct {
+ mutex sync.Mutex
+ state bool
+}
+
+func NewAtomicBool(initialState bool) *AtomicBool {
+ return &AtomicBool{
+ mutex: sync.Mutex{},
+ state: initialState}
+}
+
+func (a *AtomicBool) Get() bool {
+ a.mutex.Lock()
+ defer a.mutex.Unlock()
+ return a.state
+}
+
+func (a *AtomicBool) Set(newState bool) bool {
+ a.mutex.Lock()
+ defer a.mutex.Unlock()
+ a.state = newState
+ return a.state
+}