From 03ee9c7e3ded31404cf0470d05cd5a7c5db8bfcd Mon Sep 17 00:00:00 2001 From: v2ray Date: Sun, 24 Jan 2016 00:06:49 +0100 Subject: [PATCH] delay close of existing connections --- shell/point/inbound_detour_dynamic.go | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/shell/point/inbound_detour_dynamic.go b/shell/point/inbound_detour_dynamic.go index a4489b346..c496daef0 100644 --- a/shell/point/inbound_detour_dynamic.go +++ b/shell/point/inbound_detour_dynamic.go @@ -97,6 +97,7 @@ func (this *InboundDetourHandlerDynamic) refresh() error { for _, ich := range this.ichInUse { ich.port = this.pickUnusedPort() err := retry.Timed(100 /* times */, 100 /* ms */).On(func() error { + ich.handler.Close() err := ich.handler.Listen(ich.port) if err != nil { log.Error("Point: Failed to start inbound detour on port ", ich.port, ": ", err) @@ -121,14 +122,6 @@ func (this *InboundDetourHandlerDynamic) Start() error { go func() { for range time.Tick(time.Duration(this.config.Allocation.Refresh) * time.Minute) { this.refresh() - - <-time.After(time.Minute) - for _, ich := range this.ich2Recycle { - if ich != nil { - ich.handler.Close() - delete(this.portsInUse, ich.port) - } - } } }()