@@ -185,14 +185,12 @@ pub fn tick(self: *Client, timeout_ms: usize) !void {
185185
186186pub fn request (self : * Client , req : Request ) ! void {
187187 if (self .handles .getFreeHandle ()) | handle | {
188- self .active += 1 ;
189188 return self .makeRequest (handle , req );
190189 }
191190
192191 const node = try self .queue_node_pool .create ();
193192 node .data = req ;
194193 self .queue .append (node );
195- self .active += 1 ;
196194}
197195
198196// See ScriptManager.blockingGet
@@ -236,18 +234,13 @@ fn makeRequest(self: *Client, handle: *Handle, req: Request) !void {
236234
237235 // we need this for cookies
238236 const uri = std .Uri .parse (req .url ) catch | err | {
239- self .active -= 1 ;
240237 self .handles .release (handle );
241238 log .warn (.http , "invalid url" , .{ .err = err , .url = req .url });
242239 return ;
243240 };
244241
245242 const header_list = blk : {
246- errdefer {
247- self .active -= 1 ;
248- self .handles .release (handle );
249- }
250-
243+ errdefer self .handles .release (handle );
251244 try conn .setMethod (req .method );
252245 try conn .setURL (req .url );
253246
@@ -282,10 +275,7 @@ fn makeRequest(self: *Client, handle: *Handle, req: Request) !void {
282275 };
283276
284277 {
285- errdefer {
286- self .active -= 1 ;
287- self .handles .release (handle );
288- }
278+ errdefer self .handles .release (handle );
289279
290280 const transfer = try self .transfer_pool .create ();
291281 transfer .* = .{
@@ -309,6 +299,7 @@ fn makeRequest(self: *Client, handle: *Handle, req: Request) !void {
309299 }
310300 }
311301
302+ self .active += 1 ;
312303 return self .perform (0 );
313304}
314305
0 commit comments