From ad800d67f3af114408096bc49eae3c2e98f5bf5f Mon Sep 17 00:00:00 2001 From: aggstam Date: Sat, 23 Jul 2022 21:41:50 +0300 Subject: [PATCH] ircd/protocol_privmsg: remedy race lock on seen messages --- bin/ircd/src/protocol_privmsg.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/bin/ircd/src/protocol_privmsg.rs b/bin/ircd/src/protocol_privmsg.rs index d8154ec83..eda6b35fc 100644 --- a/bin/ircd/src/protocol_privmsg.rs +++ b/bin/ircd/src/protocol_privmsg.rs @@ -67,11 +67,14 @@ impl ProtocolPrivmsg { msg.nickname = msg.nickname[..MAXIMUM_LENGTH_OF_NICKNAME].to_string(); } - if self.msg_ids.lock().await.contains(&msg.id) { - continue - } + { + let msg_ids = &mut self.msg_ids.lock().await; + if msg_ids.contains(&msg.id) { + continue + } - self.msg_ids.lock().await.push(msg.id); + msg_ids.push(msg.id); + } // add the msg to the buffer self.msgs.lock().await.push(msg.clone());