mirror of https://github.com/v2ray/v2ray-core
				
				
				
			fix memory leak
							parent
							
								
									b9bf419f57
								
							
						
					
					
						commit
						9434f5156c
					
				| 
						 | 
				
			
			@ -64,6 +64,7 @@ func (this *Listener) OnReceive(payload *alloc.Buffer, src v2net.Destination) {
 | 
			
		|||
	conn, found := this.sessions[sourceId]
 | 
			
		||||
	if !found {
 | 
			
		||||
		writer := &Writer{
 | 
			
		||||
			id:       sourceId,
 | 
			
		||||
			hub:      this.hub,
 | 
			
		||||
			dest:     src,
 | 
			
		||||
			listener: this,
 | 
			
		||||
| 
						 | 
				
			
			@ -135,6 +136,7 @@ func (this *Listener) Addr() net.Addr {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
type Writer struct {
 | 
			
		||||
	id       string
 | 
			
		||||
	dest     v2net.Destination
 | 
			
		||||
	hub      *udp.UDPHub
 | 
			
		||||
	listener *Listener
 | 
			
		||||
| 
						 | 
				
			
			@ -145,7 +147,7 @@ func (this *Writer) Write(payload []byte) (int, error) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func (this *Writer) Close() error {
 | 
			
		||||
	this.listener.Remove(this.dest.NetAddr())
 | 
			
		||||
	this.listener.Remove(this.id)
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue