Skip to content

Commit dc85c65

Browse files
authored
Merge pull request #1132 from lightpanda-io/reduce_http_tick_blocking
Remove potential processing blocking with CDP
2 parents 2d6e255 + 76e8506 commit dc85c65

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

src/cdp/domains/log.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ pub fn LogInterceptor(comptime BC: type) type {
106106
}, .{
107107
.session_id = self.bc.session_id,
108108
}) catch |err| {
109-
log.err(.interceptor, "failed to send", .{.err = err});
109+
log.err(.interceptor, "failed to send", .{ .err = err });
110110
};
111111
}
112112
};

src/http/Client.zig

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,9 @@ fn perform(self: *Client, timeout_ms: c_int) !PerformStatus {
393393

394394
// We're potentially going to block for a while until we get data. Process
395395
// whatever messages we have waiting ahead of time.
396-
try self.processMessages();
396+
if (try self.processMessages()) {
397+
return .normal;
398+
}
397399

398400
var status = PerformStatus.normal;
399401
if (self.extra_socket) |s| {
@@ -411,12 +413,13 @@ fn perform(self: *Client, timeout_ms: c_int) !PerformStatus {
411413
try errorMCheck(c.curl_multi_poll(multi, null, 0, timeout_ms, null));
412414
}
413415

414-
try self.processMessages();
416+
_ = try self.processMessages();
415417
return status;
416418
}
417419

418-
fn processMessages(self: *Client) !void {
420+
fn processMessages(self: *Client) !bool {
419421
const multi = self.multi;
422+
var processed = false;
420423
var messages_count: c_int = 0;
421424
while (c.curl_multi_info_read(multi, &messages_count)) |msg_| {
422425
const msg: *c.CURLMsg = @ptrCast(msg_);
@@ -475,10 +478,12 @@ fn processMessages(self: *Client) !void {
475478
.transfer = transfer,
476479
});
477480
}
481+
processed = true;
478482
} else |err| {
479483
self.requestFailed(transfer, err);
480484
}
481485
}
486+
return processed;
482487
}
483488

484489
fn endTransfer(self: *Client, transfer: *Transfer) void {

0 commit comments

Comments
 (0)