mirror of
https://github.com/safing/portbase
synced 2025-09-01 18:19:57 +00:00
Switch config change notifier to event hooking
This commit is contained in:
parent
21264f4d1f
commit
f4d19ee757
2 changed files with 8 additions and 16 deletions
|
@ -10,7 +10,12 @@ import (
|
|||
"github.com/safing/portmaster/core/structure"
|
||||
)
|
||||
|
||||
const (
|
||||
configChangeEvent = "config change"
|
||||
)
|
||||
|
||||
var (
|
||||
module *modules.Module
|
||||
dataRoot *utils.DirStructure
|
||||
)
|
||||
|
||||
|
@ -22,7 +27,8 @@ func SetDataRoot(root *utils.DirStructure) {
|
|||
}
|
||||
|
||||
func init() {
|
||||
modules.Register("config", prep, start, nil, "base", "database")
|
||||
module = modules.Register("config", prep, start, nil, "base", "database")
|
||||
module.RegisterEvent(configChangeEvent)
|
||||
}
|
||||
|
||||
func prep() error {
|
||||
|
|
|
@ -17,9 +17,6 @@ var (
|
|||
|
||||
validityFlag = abool.NewBool(true)
|
||||
validityFlagLock sync.RWMutex
|
||||
|
||||
changedSignal = make(chan struct{})
|
||||
changedSignalLock sync.Mutex
|
||||
)
|
||||
|
||||
func getValidityFlag() *abool.AtomicBool {
|
||||
|
@ -28,13 +25,6 @@ func getValidityFlag() *abool.AtomicBool {
|
|||
return validityFlag
|
||||
}
|
||||
|
||||
// Changed signals if any config option was changed.
|
||||
func Changed() <-chan struct{} {
|
||||
changedSignalLock.Lock()
|
||||
defer changedSignalLock.Unlock()
|
||||
return changedSignal
|
||||
}
|
||||
|
||||
func signalChanges() {
|
||||
// refetch and save release level and expertise level
|
||||
updateReleaseLevel()
|
||||
|
@ -46,11 +36,7 @@ func signalChanges() {
|
|||
validityFlag = abool.NewBool(true)
|
||||
validityFlagLock.Unlock()
|
||||
|
||||
// trigger change signal: signal listeners that a config option was changed.
|
||||
changedSignalLock.Lock()
|
||||
close(changedSignal)
|
||||
changedSignal = make(chan struct{})
|
||||
changedSignalLock.Unlock()
|
||||
module.TriggerEvent(configChangeEvent, nil)
|
||||
}
|
||||
|
||||
// setConfig sets the (prioritized) user defined config.
|
||||
|
|
Loading…
Add table
Reference in a new issue