ssb: Prevent -t=bench from stalling.
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Build Tilde Friends / Build-All (push) Successful in 18m50s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Build Tilde Friends / Build-All (push) Successful in 18m50s
				
			This commit is contained in:
		| @@ -665,7 +665,7 @@ static void _tf_ssb_connection_box_stream_send(tf_ssb_connection_t* connection, | ||||
|  | ||||
| static void _tf_ssb_connection_dispatch_scheduled(tf_ssb_connection_t* connection) | ||||
| { | ||||
| 	while ((connection->active_write_count == 0 || connection->closing) && connection->scheduled_count && connection->scheduled) | ||||
| 	while (((connection->active_write_count == 0 && connection->read_back_pressure == 0) || connection->closing) && connection->scheduled_count && connection->scheduled) | ||||
| 	{ | ||||
| 		tf_ssb_connection_scheduled_t scheduled = connection->scheduled[0]; | ||||
| 		memmove(connection->scheduled, connection->scheduled + 1, sizeof(tf_ssb_connection_scheduled_t) * (connection->scheduled_count - 1)); | ||||
| @@ -4376,6 +4376,7 @@ void tf_ssb_connection_adjust_read_backpressure(tf_ssb_connection_t* connection, | ||||
| 	const int k_threshold = 256; | ||||
| 	int old_pressure = connection->read_back_pressure; | ||||
| 	connection->read_back_pressure += delta; | ||||
| 	_tf_ssb_connection_dispatch_scheduled(connection); | ||||
| 	if (!connection->closing) | ||||
| 	{ | ||||
| 		if (old_pressure < k_threshold && connection->read_back_pressure >= k_threshold) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user