From 9d2a9a97fd847f5341b9246e94b5874451f68f12 Mon Sep 17 00:00:00 2001 From: fukua95 Date: Mon, 28 Apr 2025 18:16:08 +0800 Subject: [PATCH] fix: `PubSub` isn't concurrency-safe --- pubsub.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pubsub.go b/pubsub.go index 20c085f1f..2a0e7a81e 100644 --- a/pubsub.go +++ b/pubsub.go @@ -45,6 +45,9 @@ func (c *PubSub) init() { } func (c *PubSub) String() string { + c.mu.Lock() + defer c.mu.Unlock() + channels := mapKeys(c.channels) channels = append(channels, mapKeys(c.patterns)...) channels = append(channels, mapKeys(c.schannels)...)