send closeProxy msg to server then client start proxy error, fix #1606

This commit is contained in:
fatedier 2020-02-04 19:41:39 +08:00
parent 0f59b8f329
commit 4a4cf552af

View File

@ -112,6 +112,7 @@ func (pw *ProxyWrapper) SetRunningStatus(remoteAddr string, respErr string) erro
}
if err := pw.pxy.Run(); err != nil {
pw.close()
pw.Status = ProxyStatusStartErr
pw.Err = err.Error()
pw.lastStartErr = time.Now()
@ -140,7 +141,10 @@ func (pw *ProxyWrapper) Stop() {
pw.monitor.Stop()
}
pw.Status = ProxyStatusClosed
pw.close()
}
func (pw *ProxyWrapper) close() {
pw.handler(event.EvCloseProxy, &event.CloseProxyPayload{
CloseProxyMsg: &msg.CloseProxy{
ProxyName: pw.Name,
@ -178,11 +182,7 @@ func (pw *ProxyWrapper) checkWorker() {
} else {
pw.mu.Lock()
if pw.Status == ProxyStatusRunning || pw.Status == ProxyStatusWaitStart {
pw.handler(event.EvCloseProxy, &event.CloseProxyPayload{
CloseProxyMsg: &msg.CloseProxy{
ProxyName: pw.Name,
},
})
pw.close()
xl.Trace("change status from [%s] to [%s]", pw.Status, ProxyStatusCheckFailed)
pw.Status = ProxyStatusCheckFailed
}