Feature: close all connections on reset
This commit is contained in:
@@ -36,6 +36,7 @@ func coreInit(home, versionName C.c_string, sdkVersion C.int) {
|
|||||||
func reset() {
|
func reset() {
|
||||||
config.LoadDefault()
|
config.LoadDefault()
|
||||||
tunnel.ResetStatistic()
|
tunnel.ResetStatistic()
|
||||||
|
tunnel.CloseAllConnections()
|
||||||
|
|
||||||
runtime.GC()
|
runtime.GC()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,12 @@ import (
|
|||||||
"github.com/Dreamacro/clash/tunnel/statistic"
|
"github.com/Dreamacro/clash/tunnel/statistic"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func CloseAllConnections() {
|
||||||
|
for _, c := range statistic.DefaultManager.Snapshot().Connections {
|
||||||
|
_ = c.Close()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func closeMatch(filter func(conn C.Conn) bool) {
|
func closeMatch(filter func(conn C.Conn) bool) {
|
||||||
for _, c := range statistic.DefaultManager.Snapshot().Connections {
|
for _, c := range statistic.DefaultManager.Snapshot().Connections {
|
||||||
if cc, ok := c.(C.Conn); ok {
|
if cc, ok := c.(C.Conn); ok {
|
||||||
|
|||||||
Reference in New Issue
Block a user