From 4a4cf552af78a3461e95f9c42038198c536549d1 Mon Sep 17 00:00:00 2001 From: fatedier Date: Tue, 4 Feb 2020 19:41:39 +0800 Subject: [PATCH] send closeProxy msg to server then client start proxy error, fix #1606 --- client/proxy/proxy_wrapper.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/client/proxy/proxy_wrapper.go b/client/proxy/proxy_wrapper.go index 458fa43..418ef01 100644 --- a/client/proxy/proxy_wrapper.go +++ b/client/proxy/proxy_wrapper.go @@ -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 }