diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-03-10 02:37:34 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-03-10 03:37:23 +0100 |
commit | a9aa443ea78cf9926524dda8680a1e1a38d425c9 (patch) | |
tree | ac98e26149c9829900e84977569452a2a9274a56 /service/ipc_server.go | |
parent | installer: bring to foreground using shellexec process (diff) | |
download | wireguard-windows-a9aa443ea78cf9926524dda8680a1e1a38d425c9.tar.xz wireguard-windows-a9aa443ea78cf9926524dda8680a1e1a38d425c9.zip |
service: keep track of proper errors
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'service/ipc_server.go')
-rw-r--r-- | service/ipc_server.go | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/service/ipc_server.go b/service/ipc_server.go index 5f16eab9..4130284c 100644 --- a/service/ipc_server.go +++ b/service/ipc_server.go @@ -84,7 +84,7 @@ func (s *ManagerService) Start(tunnelName string, unused *uintptr) error { func (s *ManagerService) Stop(tunnelName string, unused *uintptr) error { err := UninstallTunnel(tunnelName) - if err == syscall.Errno(ERROR_SERVICE_DOES_NOT_EXIST) { + if err == syscall.Errno(serviceDOES_NOT_EXIST) { _, notExistsError := conf.LoadFromName(tunnelName) if notExistsError == nil { return nil @@ -104,7 +104,7 @@ func (s *ManagerService) WaitForStop(tunnelName string, unused *uintptr) error { } for { service, err := m.OpenService(serviceName) - if err == nil || err == syscall.Errno(ERROR_SERVICE_MARKED_FOR_DELETE) { + if err == nil || err == syscall.Errno(serviceMARKED_FOR_DELETE) { service.Close() time.Sleep(time.Second / 3) } else { @@ -256,8 +256,12 @@ func notifyAll(notificationType NotificationType, ifaces ...interface{}) { managerServicesLock.RUnlock() } -func IPCServerNotifyTunnelChange(name string, state TunnelState) { - notifyAll(TunnelChangeNotificationType, name, state) +func IPCServerNotifyTunnelChange(name string, state TunnelState, err error) { + if err == nil { + notifyAll(TunnelChangeNotificationType, name, state, "") + } else { + notifyAll(TunnelChangeNotificationType, name, state, err.Error()) + } } func IPCServerNotifyTunnelsChange() { |