mirror of
https://github.com/safing/portmaster
synced 2025-09-02 02:29:12 +00:00
Change dns requests to be workers instead of microtasks
This commit is contained in:
parent
e464ee136c
commit
1c5474bdcd
1 changed files with 5 additions and 6 deletions
|
@ -24,9 +24,8 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
module *modules.Module
|
module *modules.Module
|
||||||
dnsServer *dns.Server
|
dnsServer *dns.Server
|
||||||
mtDNSRequest = "dns request"
|
|
||||||
|
|
||||||
listenAddress = "0.0.0.0:53"
|
listenAddress = "0.0.0.0:53"
|
||||||
ipv4Localhost = net.IPv4(127, 0, 0, 1)
|
ipv4Localhost = net.IPv4(127, 0, 0, 1)
|
||||||
|
@ -63,7 +62,7 @@ func prep() error {
|
||||||
|
|
||||||
func start() error {
|
func start() error {
|
||||||
dnsServer = &dns.Server{Addr: listenAddress, Net: "udp"}
|
dnsServer = &dns.Server{Addr: listenAddress, Net: "udp"}
|
||||||
dns.HandleFunc(".", handleRequestAsMicroTask)
|
dns.HandleFunc(".", handleRequestAsWorker)
|
||||||
|
|
||||||
module.StartServiceWorker("dns resolver", 0, func(ctx context.Context) error {
|
module.StartServiceWorker("dns resolver", 0, func(ctx context.Context) error {
|
||||||
err := dnsServer.ListenAndServe()
|
err := dnsServer.ListenAndServe()
|
||||||
|
@ -97,8 +96,8 @@ func returnServerFailure(w dns.ResponseWriter, query *dns.Msg) {
|
||||||
_ = w.WriteMsg(m)
|
_ = w.WriteMsg(m)
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleRequestAsMicroTask(w dns.ResponseWriter, query *dns.Msg) {
|
func handleRequestAsWorker(w dns.ResponseWriter, query *dns.Msg) {
|
||||||
err := module.RunMicroTask(&mtDNSRequest, func(ctx context.Context) error {
|
err := module.RunWorker("dns request", func(ctx context.Context) error {
|
||||||
return handleRequest(ctx, w, query)
|
return handleRequest(ctx, w, query)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Add table
Reference in a new issue