aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/service/ipc_server.go
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-03-10 02:37:34 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2019-03-10 03:37:23 +0100
commitda563a6ec66113fee96dad3ebf440607320637c6 (patch)
treeac98e26149c9829900e84977569452a2a9274a56 /service/ipc_server.go
parentinstaller: bring to foreground using shellexec process (diff)
downloadwireguard-windows-da563a6ec66113fee96dad3ebf440607320637c6.tar.xz
wireguard-windows-da563a6ec66113fee96dad3ebf440607320637c6.zip
service: keep track of proper errors
Diffstat (limited to 'service/ipc_server.go')
-rw-r--r--service/ipc_server.go12
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() {