mirror of
https://git.sr.ht/~ashkeel/strimertul
synced 2024-09-20 02:00:49 +00:00
26 lines
347 B
Go
26 lines
347 B
Go
package http
|
|
|
|
import "sync"
|
|
|
|
type SafeBool struct {
|
|
val bool
|
|
mux sync.RWMutex
|
|
}
|
|
|
|
func newSafeBool(val bool) *SafeBool {
|
|
return &SafeBool{val: val, mux: sync.RWMutex{}}
|
|
}
|
|
|
|
func (s *SafeBool) Set(val bool) {
|
|
s.mux.Lock()
|
|
s.val = val
|
|
s.mux.Unlock()
|
|
}
|
|
|
|
func (s *SafeBool) Get() bool {
|
|
s.mux.RLock()
|
|
val := s.val
|
|
s.mux.RUnlock()
|
|
return val
|
|
}
|