change to wait group

pull/2034/head v1.24.3
v2ray 8 years ago
parent 125ef8372c
commit 99821dc2fb
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169

@ -165,32 +165,31 @@ func (this *DokodemoDoor) HandleTCPConnection(conn internet.Connection) {
})
defer ray.InboundOutput().Release()
var inputFinish, outputFinish sync.Mutex
inputFinish.Lock()
outputFinish.Lock()
var wg sync.WaitGroup
reader := v2net.NewTimeOutReader(this.config.Timeout, conn)
defer reader.Release()
wg.Add(1)
go func() {
v2reader := v2io.NewAdaptiveReader(reader)
defer v2reader.Release()
v2io.Pipe(v2reader, ray.InboundInput())
inputFinish.Unlock()
wg.Done()
ray.InboundInput().Close()
}()
wg.Add(1)
go func() {
v2writer := v2io.NewAdaptiveWriter(conn)
defer v2writer.Release()
v2io.Pipe(ray.InboundOutput(), v2writer)
outputFinish.Unlock()
wg.Done()
}()
outputFinish.Lock()
inputFinish.Lock()
wg.Wait()
}
type Factory struct{}

Loading…
Cancel
Save