From 0e4c18fde4223e3b5d260361650f5256b307c34c Mon Sep 17 00:00:00 2001 From: Sinan Date: Wed, 7 Nov 2018 15:05:38 +0100 Subject: [PATCH 2/3] Add atomic increment to informer See commit: 609c40b686c5f1b8900c7400f46bd5f8131decb0 --- rsb-cil/Rsb/Informer.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rsb-cil/Rsb/Informer.cs b/rsb-cil/Rsb/Informer.cs index 195ab6c..49189a6 100644 --- a/rsb-cil/Rsb/Informer.cs +++ b/rsb-cil/Rsb/Informer.cs @@ -1,4 +1,5 @@ using System; +using System.Threading; using Rsb.Transport; using Rsb.Util; namespace Rsb @@ -8,7 +9,7 @@ namespace Rsb private IConnector connector; private Guid id = Guid.NewGuid(); - private long sequenceNumber = 1; // FIXME needs atomic increment + private long sequenceNumber = 1; public Scope Scope { @@ -40,7 +41,7 @@ namespace Rsb public void Send(Event theEvent) { theEvent.EventId.ParticipantId = this.id; - theEvent.EventId.SequenceNumber = sequenceNumber++; + theEvent.EventId.SequenceNumber = Interlocked.Increment(ref sequenceNumber); this.connector.Push(theEvent); } -- 2.14.2.windows.1