From d5d159eb5fa682c7a0bf53bf8a8caa7d7a7651b4 Mon Sep 17 00:00:00 2001 From: BrennanConroy Date: Wed, 3 Jan 2018 12:29:25 -0800 Subject: [PATCH] Lock around heartbeat handler (#1264) --- .../DefaultConnectionContext.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.AspNetCore.Sockets/DefaultConnectionContext.cs b/src/Microsoft.AspNetCore.Sockets/DefaultConnectionContext.cs index b27b9543cd..6faa0b0b26 100644 --- a/src/Microsoft.AspNetCore.Sockets/DefaultConnectionContext.cs +++ b/src/Microsoft.AspNetCore.Sockets/DefaultConnectionContext.cs @@ -75,14 +75,20 @@ namespace Microsoft.AspNetCore.Sockets public void OnHeartbeat(Action action, object state) { - _heartbeatHandlers.Add((action, state)); + lock (_heartbeatHandlers) + { + _heartbeatHandlers.Add((action, state)); + } } public void TickHeartbeat() { - foreach (var (handler, state) in _heartbeatHandlers) + lock (_heartbeatHandlers) { - handler(state); + foreach (var (handler, state) in _heartbeatHandlers) + { + handler(state); + } } }