diff --git a/client/service.go b/client/service.go index 8cdc2fa7..98e39957 100644 --- a/client/service.go +++ b/client/service.go @@ -57,7 +57,7 @@ func NewService(pxyCfgs map[string]config.ProxyConf, visitorCfgs map[string]conf visitorCfgs: visitorCfgs, exit: 0, closedCh: make(chan bool), - closed: false, + closed: true, } return } @@ -103,6 +103,7 @@ func (svr *Service) Run(cmd bool) error { log.Info("admin server listen on %s:%d", g.GlbClientCfg.AdminAddr, g.GlbClientCfg.AdminPort) } + svr.closed = false if cmd { svr.closed = <-svr.closedCh log.Info("svr closed") diff --git a/server/service.go b/server/service.go index 90c247dd..f8c2501a 100644 --- a/server/service.go +++ b/server/service.go @@ -98,6 +98,7 @@ func NewService() (svr *Service, err error) { visitorManager: NewVisitorManager(), tcpPortManager: ports.NewPortManager("tcp", cfg.ProxyBindAddr, cfg.AllowPorts), udpPortManager: ports.NewPortManager("udp", cfg.ProxyBindAddr, cfg.AllowPorts), + Closed: true, closedCh: make(chan bool), } svr.tcpGroupCtl = group.NewTcpGroupCtl(svr.tcpPortManager) @@ -236,6 +237,7 @@ func (svr *Service) Run() { go svr.HandleListener(svr.websocketListener) + svr.Closed = false svr.HandleListener(svr.listener) }