5
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2024-11-26 01:21:37 +00:00

Merge branch 'master' into testing

This commit is contained in:
Arceliar 2018-02-19 18:36:06 -06:00
commit 8c7d514032
2 changed files with 10 additions and 3 deletions

2
build
View File

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/sh
export GOPATH=$PWD export GOPATH=$PWD
echo "Downloading..." echo "Downloading..."
go get -d -v go get -d -v

View File

@ -9,6 +9,7 @@ import "io/ioutil"
import "net" import "net"
import "os" import "os"
import "os/signal" import "os/signal"
import "syscall"
import "time" import "time"
import "regexp" import "regexp"
@ -21,7 +22,7 @@ import "golang.org/x/net/ipv6"
import . "yggdrasil" import . "yggdrasil"
import _ "github.com/kardianos/minwinsvc" import "github.com/kardianos/minwinsvc"
/** /**
* This is a very crude wrapper around src/yggdrasil * This is a very crude wrapper around src/yggdrasil
@ -306,7 +307,13 @@ func main() {
} }
// Catch interrupt to exit gracefully // Catch interrupt to exit gracefully
c := make(chan os.Signal, 1) c := make(chan os.Signal, 1)
signal.Notify(c, os.Interrupt, os.Kill) signal.Notify(c, os.Interrupt, syscall.SIGTERM)
// Create a function to capture the service being stopped on Windows
winTerminate := func() {
c <- os.Interrupt
}
minwinsvc.SetOnExit(winTerminate)
// Wait for the terminate/interrupt signal
<-c <-c
logger.Println("Stopping...") logger.Println("Stopping...")
} }