Lock around heartbeat handler (#1264)
This commit is contained in:
parent
6baee8b7a9
commit
d5d159eb5f
|
|
@ -75,14 +75,20 @@ namespace Microsoft.AspNetCore.Sockets
|
||||||
|
|
||||||
public void OnHeartbeat(Action<object> action, object state)
|
public void OnHeartbeat(Action<object> action, object state)
|
||||||
{
|
{
|
||||||
_heartbeatHandlers.Add((action, state));
|
lock (_heartbeatHandlers)
|
||||||
|
{
|
||||||
|
_heartbeatHandlers.Add((action, state));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TickHeartbeat()
|
public void TickHeartbeat()
|
||||||
{
|
{
|
||||||
foreach (var (handler, state) in _heartbeatHandlers)
|
lock (_heartbeatHandlers)
|
||||||
{
|
{
|
||||||
handler(state);
|
foreach (var (handler, state) in _heartbeatHandlers)
|
||||||
|
{
|
||||||
|
handler(state);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue