mirror of
				https://github.com/lightpanda-io/browser.git
				synced 2025-10-29 15:13:28 +00:00 
			
		
		
		
	Always make sure we have 1 free http state available for synchronous requests
If it wasn't for the fact that the HTTP client is likely going to see a major refactor, it would definitely be time to create a specific state instance for synchronous requests.
This commit is contained in:
		| @@ -287,6 +287,12 @@ const AsyncQueue = struct { | ||||
|  | ||||
|     fn _check(self: *AsyncQueue, repeat_delay: *?u63) !void { | ||||
|         const client = self.client; | ||||
|         if (client.freeSlotCount() == 1) { | ||||
|             // always leave 1 free connection for sync requests | ||||
|             repeat_delay.* = 10 * std.time.ns_per_ms; | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         const state = client.state_pool.acquireOrNull() orelse { | ||||
|             // re-run this function in 10 milliseconds | ||||
|             repeat_delay.* = 10 * std.time.ns_per_ms; | ||||
| @@ -3802,7 +3808,7 @@ const TestContext = struct { | ||||
|         errdefer loop.deinit(); | ||||
|  | ||||
|         var o = opts; | ||||
|         o.max_concurrent = 1; | ||||
|         o.max_concurrent = 2; | ||||
|  | ||||
|         const client = try Client.init(testing.allocator, loop, o); | ||||
|         errdefer client.deinit(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Karl Seguin
					Karl Seguin