aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/service/service_manager.go
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-05-07 10:39:12 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2019-05-07 10:59:06 +0200
commit66b839e7b34c73cd5de0742be07d8481ddd2e40a (patch)
tree6140e9a52be03fd7949554a569098d0c832b55cb /service/service_manager.go
parentui: defer update popup until 3 seconds after app start (diff)
downloadwireguard-windows-66b839e7b34c73cd5de0742be07d8481ddd2e40a.tar.xz
wireguard-windows-66b839e7b34c73cd5de0742be07d8481ddd2e40a.zip
service: delay restart for one second
This prevents a thundering herd. Also, we can now use the restart manager in the MSI because our walk fork handles the right window messages. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'service/service_manager.go')
-rw-r--r--service/service_manager.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/service/service_manager.go b/service/service_manager.go
index e2ccf4c9..aae11daf 100644
--- a/service/service_manager.go
+++ b/service/service_manager.go
@@ -16,6 +16,7 @@ import (
"runtime/debug"
"sync"
"syscall"
+ "time"
"unsafe"
)
@@ -190,6 +191,10 @@ func (service *managerService) Execute(args []string, r <-chan svc.ChangeRequest
ourReader.Close()
ourWriter.Close()
ourEvents.Close()
+
+ if !stoppingManager {
+ time.Sleep(time.Second)
+ }
}
}