Prevent pending_open streams from being released. (#295)
				
					
				
			* Prevent `pending_open` streams from being released. This fixes a panic that would otherwise occur in some cases. A test demonstrating said panic is included. * Clear the pending_open queue together with everything else.
This commit is contained in:
		
				
					committed by
					
						 Sean McArthur
						Sean McArthur
					
				
			
			
				
	
			
			
			
						parent
						
							f3806d5144
						
					
				
				
					commit
					fdfb873438
				
			| @@ -622,6 +622,13 @@ impl Prioritize { | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     pub fn clear_pending_open(&mut self, store: &mut Store, counts: &mut Counts) { | ||||
|         while let Some(stream) = self.pending_open.pop(store) { | ||||
|             let is_pending_reset = stream.is_pending_reset_expiration(); | ||||
|             counts.transition_after(stream, is_pending_reset); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     fn pop_frame<B>( | ||||
|         &mut self, | ||||
|         buffer: &mut Buffer<Frame<B>>, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user