|
|
@@ -11,6 +11,7 @@ import (
|
|
|
"v2ray.com/core"
|
|
|
"v2ray.com/core/common"
|
|
|
"v2ray.com/core/common/buf"
|
|
|
+ "v2ray.com/core/common/functions"
|
|
|
"v2ray.com/core/common/net"
|
|
|
"v2ray.com/core/common/protocol"
|
|
|
"v2ray.com/core/common/retry"
|
|
|
@@ -159,7 +160,7 @@ func (v *Handler) Process(ctx context.Context, link *core.Link, dialer proxy.Dia
|
|
|
return buf.Copy(bodyReader, output, buf.UpdateActivity(timer))
|
|
|
}
|
|
|
|
|
|
- if err := signal.ExecuteParallel(ctx, requestDone, responseDone); err != nil {
|
|
|
+ if err := signal.ExecuteParallel(ctx, requestDone, functions.CloseOnSuccess(responseDone, functions.Close(output))); err != nil {
|
|
|
return newError("connection ends").Base(err)
|
|
|
}
|
|
|
|