mirror of
https://github.com/tailscale/tailscale.git
synced 2025-04-21 06:01:42 +00:00
wgengine/router/dns: run ipconfig /registerdns async, log timing
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
parent
1036f51a56
commit
28f6552646
@ -9,6 +9,7 @@ import (
|
|||||||
"os/exec"
|
"os/exec"
|
||||||
"strings"
|
"strings"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/tailscale/wireguard-go/tun"
|
"github.com/tailscale/wireguard-go/tun"
|
||||||
"golang.org/x/sys/windows/registry"
|
"golang.org/x/sys/windows/registry"
|
||||||
@ -96,12 +97,19 @@ func (m windowsManager) Up(config Config) error {
|
|||||||
// have changed, which makes the DNS settings actually take
|
// have changed, which makes the DNS settings actually take
|
||||||
// effect.
|
// effect.
|
||||||
//
|
//
|
||||||
// This command can take a few seconds to run.
|
// This command can take a few seconds to run, so run it async, best effort.
|
||||||
|
go func() {
|
||||||
|
t0 := time.Now()
|
||||||
|
m.logf("running ipconfig /registerdns ...")
|
||||||
cmd := exec.Command("ipconfig", "/registerdns")
|
cmd := exec.Command("ipconfig", "/registerdns")
|
||||||
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
|
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
|
||||||
|
d := time.Since(t0).Round(time.Millisecond)
|
||||||
if err := cmd.Run(); err != nil {
|
if err := cmd.Run(); err != nil {
|
||||||
return fmt.Errorf("running ipconfig /registerdns: %w", err)
|
m.logf("error running ipconfig /registerdns after %v: %v", d, err)
|
||||||
|
} else {
|
||||||
|
m.logf("ran ipconfig /registerdns in %v", d)
|
||||||
}
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user