1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2026-02-08 01:05:24 -05:00
This commit is contained in:
Darien Raymond
2017-04-05 14:13:28 +02:00

View File

@@ -205,6 +205,13 @@ func fetchInput(ctx context.Context, s *session, output buf.Writer) {
}
}
func waitForDone(ctx context.Context, s *session) {
<-ctx.Done()
s.closeUplink()
s.closeDownlink()
s.output.Close()
}
func (m *Client) Dispatch(ctx context.Context, outboundRay ray.OutboundRay) bool {
m.access.Lock()
defer m.access.Unlock()
@@ -233,6 +240,7 @@ func (m *Client) Dispatch(ctx context.Context, outboundRay ray.OutboundRay) bool
}
m.sessions[id] = s
go fetchInput(ctx, s, m.inboundRay.InboundInput())
go waitForDone(ctx, s)
return true
}