fix(dashboard): re-check hub viewers under lock before starting a pump; document alarm send-timeout tradeoff

This commit is contained in:
Joseph Doherty
2026-10-22 06:32:17 -04:00
parent 2c963b7230
commit bd7abf4e35
2 changed files with 5 additions and 2 deletions
@@ -209,7 +209,10 @@ public sealed class DashboardEventBroadcaster : IDashboardEventBroadcaster, IDas
{
lock (_syncRoot)
{
if (_disposed)
// Re-check under the lock: the last viewer may have left between the
// caller's unlocked check and here, and its release handler (which takes
// this lock) would then never see a pump created after it ran.
if (_disposed || !_viewerRegistry.HasHubViewers(sessionId))
{
return;
}