mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-30 15:41:48 +00:00
On CDP process error, let client decide how to close
Fixes issue where CDP closes the client, but client still registers a recv operation.
This commit is contained in:
@@ -114,15 +114,15 @@ pub const CDP = struct {
|
||||
self.session = try self.browser.newSession(self);
|
||||
}
|
||||
|
||||
pub fn processMessage(self: *CDP, msg: []const u8) void {
|
||||
pub fn processMessage(self: *CDP, msg: []const u8) bool {
|
||||
const arena = &self.message_arena;
|
||||
defer _ = arena.reset(.{ .retain_with_limit = 1024 * 16 });
|
||||
|
||||
self.dispatch(arena.allocator(), self, msg) catch |err| {
|
||||
log.err("failed to process message: {}\n{s}", .{ err, msg });
|
||||
self.client.close(null);
|
||||
return;
|
||||
return false;
|
||||
};
|
||||
return true;
|
||||
}
|
||||
|
||||
// Called from above, in processMessage which handles client messages
|
||||
|
||||
Reference in New Issue
Block a user