You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/tstest
Aaron Klotz d915e0054c cmd/tailscaled: change Windows service shutdown and add optional event logging
Once a stop request is received and the service updates its status to `svc.StopPending`,
it should continue running *until the shutdown sequence is complete*, and then
return out of `(*ipnService).Execute`, which automatically sends a `svc.Stopped`
notification to Windows.

To make this happen, I changed the loop so that it runs until `doneCh` is
closed, and then returns. I also removed a spurious `svc.StopPending` notification
that the Windows Service Control Manager might be interpreting as a request for
more time to shut down.

Finally, I added some optional logging that sends a record of service notifications
to the Windows event log, allowing us to more easily correlate with any Service
Control Manager errors that are sent to the same log.

Change-Id: I5b596122e5e89c4c655fe747a612a52cb4e8f1e0
Signed-off-by: Aaron Klotz <aaron@tailscale.com>
3 years ago
..
archtest all: use cibuild.On 3 years ago
integration cmd/tailscaled: change Windows service shutdown and add optional event logging 3 years ago
iosdeps tstest/iosdeps: add test for forbidden iOS dependencies 3 years ago
natlab all: use any instead of interface{} 3 years ago
staticcheck all: gofmt -w -s (simplify) tests 3 years ago
allocs.go util/testingutil: new package with MinAllocsPerRun 3 years ago
clock.go tstest/natlab: add a stateful firewall. 4 years ago
log.go all: use any instead of interface{} 3 years ago
log_test.go tstest: rename LogListener to LogLineTracker 4 years ago
resource.go net/dns{,/resolver}: refactor DNS forwarder, send out of right link on macOS/iOS 3 years ago
tstest.go tstest: add WaitFor helper 4 years ago