diff options
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() { |