From bb75b06d6721fb7cd85b7ef99edf947ef8ace90f Mon Sep 17 00:00:00 2001 From: Leibale Eidelman Date: Sat, 11 Dec 2021 08:33:46 -0500 Subject: [PATCH] fix #1734 - fix PubSub unsubscribe race condition --- packages/client/lib/client/commands-queue.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/client/lib/client/commands-queue.ts b/packages/client/lib/client/commands-queue.ts index 52f86c6375..2ce48100ec 100644 --- a/packages/client/lib/client/commands-queue.ts +++ b/packages/client/lib/client/commands-queue.ts @@ -73,7 +73,10 @@ export default class RedisCommandsQueue { static #emitPubSubMessage(listenersMap: PubSubListenersMap, message: Buffer, channel: Buffer, pattern?: Buffer): void { const keyString = (pattern || channel).toString(), - listeners = listenersMap.get(keyString)!; + listeners = listenersMap.get(keyString); + + if (!listeners) return; + for (const listener of listeners.buffers) { listener(message, channel); }