aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/service/service_manager.go
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-02-28 07:19:06 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2019-02-28 08:05:02 +0100
commitcabb405c67b9dae13be312198640bb10ce5a07a3 (patch)
tree243e106096b2df0f27074234d6acd56d518fb407 /service/service_manager.go
parentmanager: wire up config migrator (diff)
downloadwireguard-windows-cabb405c67b9dae13be312198640bb10ce5a07a3.tar.xz
wireguard-windows-cabb405c67b9dae13be312198640bb10ce5a07a3.zip
service: track tunnel service status
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'service/service_manager.go')
-rw-r--r--service/service_manager.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/service/service_manager.go b/service/service_manager.go
index b903929b..c049465d 100644
--- a/service/service_manager.go
+++ b/service/service_manager.go
@@ -129,6 +129,14 @@ func (service *managerService) Execute(args []string, r <-chan svc.ChangeRequest
return
}
+ err = trackExistingTunnels()
+ if err != nil {
+ elog.Error(1, "Unable to track existing tunnels: "+err.Error())
+ changes <- svc.Status{State: svc.StopPending}
+ exitCode = ERROR_NO_TRACKING_SERVICE
+ return
+ }
+
conf.RegisterStoreChangeCallback(func() { conf.MigrateUnencryptedConfigs() }) // Ignore return value for now, but could be useful later.
conf.RegisterStoreChangeCallback(IPCServerNotifyTunnelsChange)