Skip to content

Commit a518fe1

Browse files
Make IModel#ConfirmSelect idempotent
1 parent 628aeda commit a518fe1

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

projects/client/RabbitMQ.Client/src/client/impl/ModelBase.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public abstract class ModelBase : IFullModel
7575
public ManualResetEvent m_flowControlBlock = new ManualResetEvent(true);
7676
private readonly object m_flowSendLock = new object();
7777

78-
private ulong m_nextPubSeqNo;
78+
private ulong m_nextPubSeqNo = 0;
7979
private SynchronizedCollection<ulong> m_unconfirmedSet =
8080
new SynchronizedCollection<ulong>();
8181
private bool m_onlyAcksReceived = true;
@@ -972,7 +972,10 @@ public abstract uint _Private_QueueDelete(string queue,
972972

973973
public void ConfirmSelect()
974974
{
975-
m_nextPubSeqNo = 1;
975+
if (m_nextPubSeqNo == 0UL)
976+
{
977+
m_nextPubSeqNo = 1;
978+
}
976979
_Private_ConfirmSelect(false);
977980
}
978981

0 commit comments

Comments
 (0)