summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2026-01-01 18:41:19 +0000
committerRobby Zambito <contact@robbyzambito.me>2026-01-01 18:50:03 +0000
commitca95c9a06c3cfcdd759be30d764b9446308a9add (patch)
tree8d1cd866bf096bc2a7f616c019492d65a7a96e06
parentec1912ba7e251833c604a800dc965e2d59dd6202 (diff)
Lock subs when reading it
should probably make a copy instead of doing io in the mutex
-rw-r--r--src/server/main.zig2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/server/main.zig b/src/server/main.zig
index 012aa98..fb4e698 100644
--- a/src/server/main.zig
+++ b/src/server/main.zig
@@ -202,6 +202,8 @@ fn publishMessage(server: *Server, io: std.Io, alloc: std.mem.Allocator, source_
}
}
defer msg.deinit(alloc);
+ try server.subs_lock.lock(io);
+ defer server.subs_lock.unlock(io);
for (server.subscriptions.items) |subscription| {
if (subjectMatches(subscription.subject, msg.subject)) {
const client = server.clients.get(subscription.client_id) orelse {