Browse Source

Respect CancellationToken in RunLoop.

pull/6362/head
Steven Kirk 5 years ago
parent
commit
7e6d59d670
  1. 6
      src/Avalonia.Controls/Platform/InternalPlatformThreadingInterface.cs

6
src/Avalonia.Controls/Platform/InternalPlatformThreadingInterface.cs

@ -21,10 +21,12 @@ namespace Avalonia.Controls.Platform
public void RunLoop(CancellationToken cancellationToken)
{
while (true)
var handles = new[] { _signaled, cancellationToken.WaitHandle };
while (!cancellationToken.IsCancellationRequested)
{
Signaled?.Invoke(null);
_signaled.WaitOne();
WaitHandle.WaitAny(handles);
}
}

Loading…
Cancel
Save