1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-09-27 06:16:09 -04:00
This commit is contained in:
Darien Raymond 2017-04-05 14:13:28 +02:00
commit d10445d49a
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169

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
}