From 71631b248ad8345851b73ebbc181bc058fdb4ccf Mon Sep 17 00:00:00 2001 From: Caelan Sayler <git@caesay.com> Date: Wed, 31 Jan 2024 11:02:01 +0000 Subject: [PATCH] Fix potential deadlock when cancelling prompts (#1439) --- src/Spectre.Console/Extensions/AnsiConsoleExtensions.Input.cs | 1 + src/Spectre.Console/Prompts/List/ListPrompt.cs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/Spectre.Console/Extensions/AnsiConsoleExtensions.Input.cs b/src/Spectre.Console/Extensions/AnsiConsoleExtensions.Input.cs index f7ec487..f5299ad 100644 --- a/src/Spectre.Console/Extensions/AnsiConsoleExtensions.Input.cs +++ b/src/Spectre.Console/Extensions/AnsiConsoleExtensions.Input.cs @@ -19,6 +19,7 @@ public static partial class AnsiConsoleExtensions while (true) { + cancellationToken.ThrowIfCancellationRequested(); var rawKey = await console.Input.ReadKeyAsync(true, cancellationToken).ConfigureAwait(false); if (rawKey == null) { diff --git a/src/Spectre.Console/Prompts/List/ListPrompt.cs b/src/Spectre.Console/Prompts/List/ListPrompt.cs index 5db80c2..398a315 100644 --- a/src/Spectre.Console/Prompts/List/ListPrompt.cs +++ b/src/Spectre.Console/Prompts/List/ListPrompt.cs @@ -48,6 +48,7 @@ internal sealed class ListPrompt<T> while (true) { + cancellationToken.ThrowIfCancellationRequested(); var rawKey = await _console.Input.ReadKeyAsync(true, cancellationToken).ConfigureAwait(false); if (rawKey == null) {