Merge pull request #1250 from PepperDash/generic-comm-monitor-issues

This commit is contained in:
Neil Dorin
2025-04-11 12:49:39 -06:00
committed by GitHub
2 changed files with 15 additions and 6 deletions

View File

@@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<Version>2.0.0-local</Version>
<Version>2.4.0-local</Version>
<InformationalVersion>$(Version)</InformationalVersion>
<Authors>PepperDash Technology</Authors>
<Company>PepperDash Technology</Company>

View File

@@ -30,6 +30,8 @@ namespace PepperDash.Essentials.Core
private Timer PollTimer;
private SemaphoreSlim semaphore = new SemaphoreSlim(1, 1);
/// <summary>
/// GenericCommunicationMonitor constructor
///
@@ -201,14 +203,21 @@ namespace PepperDash.Essentials.Core
private void BeginPolling()
{
lock (_pollTimerLock)
try
{
if (PollTimer != null)
semaphore.Wait();
{
return;
}
if (PollTimer != null)
{
return;
}
PollTimer = new Timer(o => Poll(), null, 0, PollTime);
PollTimer = new Timer(o => Poll(), null, 0, PollTime);
}
}
finally
{
semaphore.Release();
}
}