瀏覽代碼

all: release resources when proxy closed using privilege mode

fatedier 8 年之前
父節點
當前提交
e580c7b6e6
共有 2 個文件被更改,包括 10 次插入0 次删除
  1. 6 0
      src/frp/models/server/config.go
  2. 4 0
      src/frp/models/server/server.go

+ 6 - 0
src/frp/models/server/config.go

@@ -294,3 +294,9 @@ func CreateProxy(s *ProxyServer) error {
 	ProxyServers[s.Name] = s
 	ProxyServers[s.Name] = s
 	return nil
 	return nil
 }
 }
+
+func DeleteProxy(proxyName string) {
+	ProxyServersMutex.Lock()
+	defer ProxyServersMutex.Unlock()
+	delete(ProxyServers, proxyName)
+}

+ 4 - 0
src/frp/models/server/server.go

@@ -186,6 +186,10 @@ func (p *ProxyServer) Close() {
 			p.CtlConn.Close()
 			p.CtlConn.Close()
 		}
 		}
 	}
 	}
+	// if the proxy created by PrivilegeMode, delete it when closed
+	if p.PrivilegeMode {
+		DeleteProxy(p.Name)
+	}
 	p.Unlock()
 	p.Unlock()
 }
 }