mcp: use acquire/release ordering for server running flag

This commit is contained in:
Adrià Arrufat
2026-03-01 21:39:38 +09:00
parent 254984b600
commit 952dfbef36
2 changed files with 3 additions and 3 deletions

View File

@@ -156,7 +156,7 @@ fn initResources(allocator: std.mem.Allocator) ![]const protocol.Resource {
}
pub fn deinit(self: *Self) void {
self.is_running.store(false, .seq_cst);
self.is_running.store(false, .release);
self.browser.deinit();
self.allocator.destroy(self.browser);

View File

@@ -13,12 +13,12 @@ pub fn processRequests(server: *Server) !void {
var stdin_buf: [8192]u8 = undefined;
var stdin = stdin_file.reader(&stdin_buf);
server.is_running.store(true, .seq_cst);
server.is_running.store(true, .release);
var arena: std.heap.ArenaAllocator = .init(server.allocator);
defer arena.deinit();
while (server.is_running.load(.seq_cst)) {
while (server.is_running.load(.acquire)) {
const msg = stdin.interface.adaptToOldInterface().readUntilDelimiterAlloc(server.allocator, '\n', 1024 * 1024 * 10) catch |err| {
if (err == error.EndOfStream) break;
return err;