1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-06-25 00:45:24 +00:00

clean up on error

This commit is contained in:
v2ray 2016-05-07 00:19:06 +02:00
parent 0bc846f016
commit 8d1f06ebaf
2 changed files with 4 additions and 6 deletions

View File

@ -22,6 +22,7 @@ func (this *FreedomConnection) Dispatch(destination v2net.Destination, payload *
defer payload.Release()
defer ray.OutboundInput().Release()
defer ray.OutboundOutput().Close()
var conn net.Conn
err := retry.Timed(5, 100).On(func() error {
@ -56,7 +57,6 @@ func (this *FreedomConnection) Dispatch(destination v2net.Destination, payload *
go func() {
defer readMutex.Unlock()
defer output.Close()
var reader io.Reader = conn

View File

@ -23,6 +23,9 @@ type VMessOutboundHandler struct {
}
func (this *VMessOutboundHandler) Dispatch(target v2net.Destination, payload *alloc.Buffer, ray ray.OutboundRay) error {
defer ray.OutboundInput().Release()
defer ray.OutboundOutput().Close()
destination, vNextUser := this.receiverManager.PickReceiver()
command := proto.RequestCommandTCP
@ -41,9 +44,6 @@ func (this *VMessOutboundHandler) Dispatch(target v2net.Destination, payload *al
conn, err := dialer.Dial(destination)
if err != nil {
log.Error("Failed to open ", destination, ": ", err)
if ray != nil {
ray.OutboundOutput().Close()
}
return err
}
log.Info("VMessOut: Tunneling request to ", request.Address, " via ", destination)
@ -64,8 +64,6 @@ func (this *VMessOutboundHandler) Dispatch(target v2net.Destination, payload *al
requestFinish.Lock()
responseFinish.Lock()
output.Close()
input.Release()
return nil
}