Browse Source

Revert CancellationToken changes

This reverts commit 6b51f00a4a.
pull/11146/head
Max Katz 3 years ago
parent
commit
972e83bff2
  1. 9
      src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs

9
src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs

@ -83,13 +83,14 @@ public sealed class HeadlessUnitTestSession : IDisposable
using var application = EnsureApplication(); using var application = EnsureApplication();
var cts = new CancellationTokenSource(); var cts = new CancellationTokenSource();
using var globalCts = token.Register(s => ((CancellationTokenSource)s!).Cancel(), cts); using var globalCts = token.Register(s => ((CancellationTokenSource)s!).Cancel(), cts, true);
using var localCts = cancellationToken.Register(s => ((CancellationTokenSource)s!).Cancel(), cts); using var localCts = cancellationToken.Register(s => ((CancellationTokenSource)s!).Cancel(), cts, true);
try try
{ {
var task = action(); var task = action();
task.ContinueWith((_, s) => ((CancellationTokenSource)s!).Cancel(), cts); task.ContinueWith((_, s) => ((CancellationTokenSource)s!).Cancel(), cts,
TaskScheduler.FromCurrentSynchronizationContext());
if (cts.IsCancellationRequested) if (cts.IsCancellationRequested)
{ {
@ -97,7 +98,7 @@ public sealed class HeadlessUnitTestSession : IDisposable
} }
var frame = new DispatcherFrame(); var frame = new DispatcherFrame();
using var innerCts = cts.Token.Register(() => frame.Continue = false); using var innerCts = cts.Token.Register(() => frame.Continue = false, true);
Dispatcher.UIThread.PushFrame(frame); Dispatcher.UIThread.PushFrame(frame);
var result = task.GetAwaiter().GetResult(); var result = task.GetAwaiter().GetResult();

Loading…
Cancel
Save