From f3177305d5572b26f135fc045481358b4eb1bf69 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Fri, 2 Jan 2015 04:49:30 +0900 Subject: Rewrite fzf in Go --- src/atomicbool.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/atomicbool.go (limited to 'src/atomicbool.go') 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 +} -- cgit v1.2.3