fix: close linstener

This commit is contained in:
Skyxim
2022-12-04 15:15:23 +08:00
parent 6fc62da7ae
commit e9d8dd09ac
9 changed files with 23 additions and 18 deletions

View File

@ -29,6 +29,7 @@ var (
udpQueue = make(chan C.PacketAdapter, 200)
natTable = nat.New()
rules []C.Rule
listeners = make(map[string]C.NewListener)
subRules map[string][]C.Rule
proxies = make(map[string]C.Proxy)
providers map[string]provider.ProxyProvider
@ -86,6 +87,9 @@ func Rules() []C.Rule {
return rules
}
func Listeners()map[string]C.NewListener{
return listeners
}
// UpdateRules handle update rules
func UpdateRules(newRules []C.Rule, newSubRule map[string][]C.Rule, rp map[string]provider.RuleProvider) {
configMux.Lock()
@ -118,6 +122,12 @@ func UpdateProxies(newProxies map[string]C.Proxy, newProviders map[string]provid
configMux.Unlock()
}
func UpdateListeners(newListeners map[string]C.NewListener) {
configMux.Lock()
defer configMux.Unlock()
listeners=newListeners
}
func UpdateSniffer(dispatcher *sniffer.SnifferDispatcher) {
configMux.Lock()
sniffer.Dispatcher = dispatcher