From bb8d50848185fe660c7f0acc3eec5aeebb5f3727 Mon Sep 17 00:00:00 2001 From: fukua95 Date: Tue, 29 Apr 2025 14:39:26 +0800 Subject: [PATCH] fix: `PubSub` isn't concurrency-safe (#3360) --- pubsub.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pubsub.go b/pubsub.go index 20c085f1..2a0e7a81 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)...)