mirror of https://github.com/v2ray/v2ray-core
				
				
				
			handle error properly
							parent
							
								
									d6988f1a63
								
							
						
					
					
						commit
						e064ce65c8
					
				| 
						 | 
				
			
			@ -4,6 +4,7 @@ package mux
 | 
			
		|||
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"io"
 | 
			
		||||
	"sync"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -12,6 +13,7 @@ import (
 | 
			
		|||
	"v2ray.com/core/app/log"
 | 
			
		||||
	"v2ray.com/core/app/proxyman"
 | 
			
		||||
	"v2ray.com/core/common/buf"
 | 
			
		||||
	"v2ray.com/core/common/errors"
 | 
			
		||||
	"v2ray.com/core/common/net"
 | 
			
		||||
	"v2ray.com/core/common/signal"
 | 
			
		||||
	"v2ray.com/core/proxy"
 | 
			
		||||
| 
						 | 
				
			
			@ -239,7 +241,9 @@ func (m *Client) fetchOutput() {
 | 
			
		|||
	for {
 | 
			
		||||
		meta, err := reader.ReadMetadata()
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			if errors.Cause(err) != io.EOF {
 | 
			
		||||
				log.Trace(newError("failed to read metadata").Base(err))
 | 
			
		||||
			}
 | 
			
		||||
			break
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -97,8 +97,8 @@ func (m *SessionManager) Close() {
 | 
			
		|||
	m.closed = true
 | 
			
		||||
 | 
			
		||||
	for _, s := range m.sessions {
 | 
			
		||||
		s.input.CloseError()
 | 
			
		||||
		s.output.CloseError()
 | 
			
		||||
		s.input.Close()
 | 
			
		||||
		s.output.Close()
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	m.sessions = make(map[uint16]*Session)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue