mirror of https://github.com/daffainfo/nuclei.git
39 lines
448 B
Go
39 lines
448 B
Go
package atomicboolean
|
|
|
|
import (
|
|
"sync"
|
|
)
|
|
|
|
type AtomBool struct {
|
|
sync.RWMutex
|
|
flag bool
|
|
}
|
|
|
|
func (b *AtomBool) Or(value bool) {
|
|
b.Lock()
|
|
defer b.Unlock()
|
|
|
|
b.flag = b.flag || value
|
|
}
|
|
|
|
func (b *AtomBool) And(value bool) {
|
|
b.Lock()
|
|
defer b.Unlock()
|
|
|
|
b.flag = b.flag && value
|
|
}
|
|
|
|
func (b *AtomBool) Set(value bool) {
|
|
b.Lock()
|
|
defer b.Unlock()
|
|
|
|
b.flag = value
|
|
}
|
|
|
|
func (b *AtomBool) Get() bool {
|
|
b.RLock()
|
|
defer b.RUnlock()
|
|
|
|
return b.flag
|
|
}
|