From 87cec9ad162c7e72e6bc6098f1f9fedaf5656a00 Mon Sep 17 00:00:00 2001 From: Alexander Bondarenko <486682+dpwiz@users.noreply.github.com> Date: Fri, 5 Jan 2024 19:07:29 +0200 Subject: [PATCH] control: try deleting from senders first (#950) --- src/Simplex/Messaging/Server.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Simplex/Messaging/Server.hs b/src/Simplex/Messaging/Server.hs index 21a019822..d70dfe9ea 100644 --- a/src/Simplex/Messaging/Server.hs +++ b/src/Simplex/Messaging/Server.hs @@ -343,10 +343,13 @@ smpServer started cfg@ServerConfig {transports, transportConfig = tCfg} = do #else hPutStrLn h "Not available on GHC 8.10" #endif - CPDelete queueId -> unliftIO u $ do + CPDelete queueId' -> unliftIO u $ do st <- asks queueStore ms <- asks msgStore stats <- asks serverStats + queueId <- atomically (getQueue st SSender queueId') >>= \case + Left _ -> pure queueId' -- fallback to using as recipientId directly + Right QueueRec {recipientId} -> pure recipientId r <- atomically $ deleteQueue st queueId $>>= \() -> Right <$> delMsgQueueSize ms queueId