From 0f851a140d35b6747ec8b5ece92b6eb6afe94a50 Mon Sep 17 00:00:00 2001 From: Robby Zambito Date: Fri, 2 Jan 2026 23:11:03 +0000 Subject: Fix possible race condition since the queue was being set in an async task and we were then calling send asserting that the queue was set, we could have triggered a panic. didn't run into it but seemed likely to cause issues in the future. also compute the buffer size for operators at comptime. --- src/server/message_parser.zig | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/server/message_parser.zig') diff --git a/src/server/message_parser.zig b/src/server/message_parser.zig index 1b7333a..52d1422 100644 --- a/src/server/message_parser.zig +++ b/src/server/message_parser.zig @@ -250,7 +250,13 @@ pub const Message = union(MessageType) { /// An error should be handled by cleaning up this connection. pub fn next(alloc: std.mem.Allocator, in: *std.Io.Reader) !Message { var operation_string: std.ArrayList(u8) = blk: { - var buf: ["CONTINUE".len + 1]u8 = undefined; + comptime var buf_len = 0; + comptime { + for (client_types.keys()) |key| { + buf_len = @max(buf_len, key.len); + } + } + var buf: [buf_len]u8 = undefined; break :blk .initBuffer(&buf); }; -- cgit