mirror of
				https://github.com/v2fly/v2ray-core.git
				synced 2025-10-31 09:49:40 +00:00 
			
		
		
		
	fix infinite loop in mux dispatch
This commit is contained in:
		
							parent
							
								
									fcce267e33
								
							
						
					
					
						commit
						db6d6a89df
					
				| @ -25,7 +25,7 @@ type ClientManager struct { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (m *ClientManager) Dispatch(ctx context.Context, link *transport.Link) error { | func (m *ClientManager) Dispatch(ctx context.Context, link *transport.Link) error { | ||||||
| 	for { | 	for i := 0; i < 16; i++ { | ||||||
| 		worker, err := m.Picker.PickAvailable() | 		worker, err := m.Picker.PickAvailable() | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return err | 			return err | ||||||
| @ -34,6 +34,8 @@ func (m *ClientManager) Dispatch(ctx context.Context, link *transport.Link) erro | |||||||
| 			return nil | 			return nil | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	return newError("unable to find an available mux client") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type WorkerPicker interface { | type WorkerPicker interface { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Darien Raymond
						Darien Raymond