improve kcp shutdown

This commit is contained in:
fatedier
2018-12-11 15:06:54 +08:00
parent a4106ec4b7
commit 7c21906884
5 changed files with 14 additions and 3 deletions

View File

@@ -68,11 +68,15 @@ var (
serverName string
bindAddr string
bindPort int
kcpDoneCh chan struct{}
)
func init() {
rootCmd.PersistentFlags().StringVarP(&cfgFile, "", "c", "./frpc.ini", "config file of frpc")
rootCmd.PersistentFlags().BoolVarP(&showVersion, "version", "v", false, "version of frpc")
kcpDoneCh = make(chan struct{})
}
var rootCmd = &cobra.Command{
@@ -106,7 +110,7 @@ func handleSignal(svr *client.Service) {
<-ch
svr.Close()
time.Sleep(250 * time.Millisecond)
os.Exit(0)
close(kcpDoneCh)
}
func parseClientCommonCfg(fileType int, content string) (err error) {
@@ -209,5 +213,8 @@ func startService(pxyCfgs map[string]config.ProxyConf, visitorCfgs map[string]co
}
err = svr.Run()
if g.GlbClientCfg.Protocol == "kcp" {
<-kcpDoneCh
}
return
}