1565 high cpu load from asyncsignal (#1566)

This commit is contained in:
Christian
2022-11-09 19:56:29 +01:00
committed by GitHub
parent 5c74728387
commit 5ee0bb4b65
6 changed files with 67 additions and 20 deletions
@@ -52,12 +52,26 @@ namespace MQTTnet.Tests.Internal
}
[TestMethod]
public async Task Loop_Signal()
public async Task Reset_Signal()
{
var asyncSignal = new AsyncSignal();
// WaitAsync should fail because no signal is available.
for (var i = 0; i < 10; i++)
{
try
{
using (var timeout = new CancellationTokenSource(TimeSpan.FromMilliseconds(100)))
{
await asyncSignal.WaitAsync(timeout.Token);
}
Assert.Fail("This must fail because the signal is not yet set.");
}
catch (OperationCanceledException)
{
}
asyncSignal.Set();
// WaitAsync should return directly because the signal is available.