2021-11-19 18:37:42 +00:00
|
|
|
package http
|
|
|
|
|
|
|
|
import "sync"
|
|
|
|
|
|
|
|
type SafeBool struct {
|
|
|
|
val bool
|
2022-02-09 14:16:47 +00:00
|
|
|
mux sync.RWMutex
|
2021-11-19 18:37:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func newSafeBool(val bool) *SafeBool {
|
2022-02-09 14:16:47 +00:00
|
|
|
return &SafeBool{val: val, mux: sync.RWMutex{}}
|
2021-11-19 18:37:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (s *SafeBool) Set(val bool) {
|
|
|
|
s.mux.Lock()
|
|
|
|
s.val = val
|
|
|
|
s.mux.Unlock()
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s *SafeBool) Get() bool {
|
2022-02-09 14:16:47 +00:00
|
|
|
s.mux.RLock()
|
2021-11-19 18:37:42 +00:00
|
|
|
val := s.val
|
2022-02-09 14:16:47 +00:00
|
|
|
s.mux.RUnlock()
|
2021-11-19 18:37:42 +00:00
|
|
|
return val
|
|
|
|
}
|