mirror of https://github.com/v2ray/v2ray-core
fixes for mutex usage
parent
4271e619fe
commit
5f6d932c03
|
@ -50,7 +50,9 @@ func (this *HttpProxyServer) Listen(port v2net.Port) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
this.Lock()
|
||||||
this.tcpListener = tcpListener
|
this.tcpListener = tcpListener
|
||||||
|
this.Unlock()
|
||||||
this.accepting = true
|
this.accepting = true
|
||||||
go this.accept()
|
go this.accept()
|
||||||
return nil
|
return nil
|
||||||
|
@ -216,7 +218,7 @@ func (this *HttpProxyServer) handlePlainHTTP(request *http.Request, dest v2net.D
|
||||||
request.Host = request.URL.Host
|
request.Host = request.URL.Host
|
||||||
stripHopByHopHeaders(request)
|
stripHopByHopHeaders(request)
|
||||||
|
|
||||||
requestBuffer := alloc.NewBuffer().Clear()
|
requestBuffer := alloc.NewBuffer().Clear() // Don't release this buffer as it is passed into a Packet.
|
||||||
request.Write(requestBuffer)
|
request.Write(requestBuffer)
|
||||||
log.Info("Request to remote:\n%s", string(requestBuffer.Value))
|
log.Info("Request to remote:\n%s", string(requestBuffer.Value))
|
||||||
|
|
||||||
|
@ -229,13 +231,12 @@ func (this *HttpProxyServer) handlePlainHTTP(request *http.Request, dest v2net.D
|
||||||
go func() {
|
go func() {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
responseReader := bufio.NewReader(NewChanReader(ray.InboundOutput()))
|
responseReader := bufio.NewReader(NewChanReader(ray.InboundOutput()))
|
||||||
responseBuffer := alloc.NewBuffer()
|
|
||||||
defer responseBuffer.Release()
|
|
||||||
response, err := http.ReadResponse(responseReader, request)
|
response, err := http.ReadResponse(responseReader, request)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
responseBuffer.Clear()
|
responseBuffer := alloc.NewBuffer().Clear()
|
||||||
|
defer responseBuffer.Release()
|
||||||
response.Write(responseBuffer)
|
response.Write(responseBuffer)
|
||||||
writer.Write(responseBuffer.Value)
|
writer.Write(responseBuffer.Value)
|
||||||
response.Body.Close()
|
response.Body.Close()
|
||||||
|
|
Loading…
Reference in New Issue