fix: goctl not compile on windows (#1500)

This commit is contained in:
Kevin Wan
2022-02-01 13:58:08 +08:00
committed by GitHub
parent ec299085f5
commit 8f46eab977
3 changed files with 39 additions and 19 deletions

View File

@@ -0,0 +1,31 @@
//go:build linux || darwin
// +build linux darwin
package migrate
import (
"os"
"os/signal"
"syscall"
"github.com/zeromicro/go-zero/core/syncx"
"github.com/zeromicro/go-zero/tools/goctl/util/console"
)
func cancelOnSignals() {
doneChan := syncx.NewDoneChan()
defer doneChan.Close()
go func(dc *syncx.DoneChan) {
c := make(chan os.Signal)
signal.Notify(c, syscall.SIGTERM, syscall.SIGKILL, syscall.SIGINT, syscall.SIGTSTP, syscall.SIGQUIT)
select {
case <-c:
console.Error(`
migrate failed, reason: "User Canceled"`)
os.Exit(0)
case <-dc.Done():
return
}
}(doneChan)
}