|  | @@ -295,28 +295,21 @@ func (this *Server) transport(reader io.Reader, writer io.Writer, session *proxy
 | 
	
		
			
				|  |  |  	input := ray.InboundInput()
 | 
	
		
			
				|  |  |  	output := ray.InboundOutput()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	var inputFinish, outputFinish sync.Mutex
 | 
	
		
			
				|  |  | -	inputFinish.Lock()
 | 
	
		
			
				|  |  | -	outputFinish.Lock()
 | 
	
		
			
				|  |  | +	defer input.Close()
 | 
	
		
			
				|  |  | +	defer output.Release()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	go func() {
 | 
	
		
			
				|  |  |  		v2reader := v2io.NewAdaptiveReader(reader)
 | 
	
		
			
				|  |  |  		defer v2reader.Release()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		v2io.Pipe(v2reader, input)
 | 
	
		
			
				|  |  | -		inputFinish.Unlock()
 | 
	
		
			
				|  |  | -		input.Close()
 | 
	
		
			
				|  |  |  	}()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	go func() {
 | 
	
		
			
				|  |  | -		v2writer := v2io.NewAdaptiveWriter(writer)
 | 
	
		
			
				|  |  | -		defer v2writer.Release()
 | 
	
		
			
				|  |  | +	v2writer := v2io.NewAdaptiveWriter(writer)
 | 
	
		
			
				|  |  | +	defer v2writer.Release()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		v2io.Pipe(output, v2writer)
 | 
	
		
			
				|  |  | -		outputFinish.Unlock()
 | 
	
		
			
				|  |  | -		output.Release()
 | 
	
		
			
				|  |  | -	}()
 | 
	
		
			
				|  |  | -	outputFinish.Lock()
 | 
	
		
			
				|  |  | +	v2io.Pipe(output, v2writer)
 | 
	
		
			
				|  |  | +	output.Release()
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  type ServerFactory struct{}
 |