From 0494257b1f88abd3d61801944c2899f57256fa3e Mon Sep 17 00:00:00 2001 From: Hal <22532613+HalRiveria@users.noreply.github.com> Date: Wed, 28 Oct 2026 05:36:38 -0400 Subject: [PATCH 1/3] README: say the PowerShell ISE isn't supported Tested in the ISE: the kit loads and runs, but with no console there, Ctrl+C stops the script outright instead of draining gracefully. Co-Authored-By: Claude Opus 5.5 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1363722..3ebee8d 100644 --- a/README.md +++ b/README.md @@ -295,6 +295,7 @@ Other pieces: `Request-PkAbort` triggers the same abort from code. `Test-PkAbort ## Limits - Windows PowerShell 5.1, Windows only (console and Job Object APIs). +- Run it in a PowerShell console window. The Windows PowerShell ISE isn't supported: tested there, the kit loads and runs, but the ISE has no console, so Ctrl+C stops the script outright, with no graceful drain and no cleanup callbacks. - It needs FullLanguage mode, since it compiles a little C# with `Add-Type` when loaded. On a machine locked down to Constrained Language Mode (usually by AppLocker or Windows Defender Application Control), loading it fails with a message saying so. Some endpoint security products also flag scripts that compile code calling Windows APIs at runtime; if yours blocks the kit, that's the likely reason. - After changing `ParallelKit.ps1` itself, start a new PowerShell window. A session keeps the kit's compiled parts until it closes; the kit tells you if it finds an older copy loaded. - One run at a time per process. The abort state is shared. A nested `Invoke-PkRun` just runs inside the outer one. From 3b8ecc6e86136e208f3528097301a7d2c65ff49e Mon Sep 17 00:00:00 2001 From: Hal <22532613+HalRiveria@users.noreply.github.com> Date: Wed, 28 Oct 2026 06:01:47 -0400 Subject: [PATCH 2/3] README: note graceful Ctrl+C was tested in Visual Studio's terminal Co-Authored-By: Claude Opus 5.5 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ebee8d..415ebd6 100644 --- a/README.md +++ b/README.md @@ -295,7 +295,7 @@ Other pieces: `Request-PkAbort` triggers the same abort from code. `Test-PkAbort ## Limits - Windows PowerShell 5.1, Windows only (console and Job Object APIs). -- Run it in a PowerShell console window. The Windows PowerShell ISE isn't supported: tested there, the kit loads and runs, but the ISE has no console, so Ctrl+C stops the script outright, with no graceful drain and no cleanup callbacks. +- Run it in a PowerShell console window or an editor's terminal (graceful Ctrl+C tested in Visual Studio's built-in terminal). The Windows PowerShell ISE isn't supported: tested there, the kit loads and runs, but the ISE has no console, so Ctrl+C stops the script outright, with no graceful drain and no cleanup callbacks. - It needs FullLanguage mode, since it compiles a little C# with `Add-Type` when loaded. On a machine locked down to Constrained Language Mode (usually by AppLocker or Windows Defender Application Control), loading it fails with a message saying so. Some endpoint security products also flag scripts that compile code calling Windows APIs at runtime; if yours blocks the kit, that's the likely reason. - After changing `ParallelKit.ps1` itself, start a new PowerShell window. A session keeps the kit's compiled parts until it closes; the kit tells you if it finds an older copy loaded. - One run at a time per process. The abort state is shared. A nested `Invoke-PkRun` just runs inside the outer one. From 8b261c96ce93aadf07bcaf95bb95f510a14def31 Mon Sep 17 00:00:00 2001 From: Hal <22532613+HalRiveria@users.noreply.github.com> Date: Wed, 28 Oct 2026 12:18:42 -0400 Subject: [PATCH 3/3] README: graceful Ctrl+C also tested in Windows Terminal Co-Authored-By: Claude Opus 5.5 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 415ebd6..26f41f6 100644 --- a/README.md +++ b/README.md @@ -295,7 +295,7 @@ Other pieces: `Request-PkAbort` triggers the same abort from code. `Test-PkAbort ## Limits - Windows PowerShell 5.1, Windows only (console and Job Object APIs). -- Run it in a PowerShell console window or an editor's terminal (graceful Ctrl+C tested in Visual Studio's built-in terminal). The Windows PowerShell ISE isn't supported: tested there, the kit loads and runs, but the ISE has no console, so Ctrl+C stops the script outright, with no graceful drain and no cleanup callbacks. +- Run it in a PowerShell console window or an editor's terminal (graceful Ctrl+C tested in Windows Terminal and Visual Studio's built-in terminal). The Windows PowerShell ISE isn't supported: tested there, the kit loads and runs, but the ISE has no console, so Ctrl+C stops the script outright, with no graceful drain and no cleanup callbacks. - It needs FullLanguage mode, since it compiles a little C# with `Add-Type` when loaded. On a machine locked down to Constrained Language Mode (usually by AppLocker or Windows Defender Application Control), loading it fails with a message saying so. Some endpoint security products also flag scripts that compile code calling Windows APIs at runtime; if yours blocks the kit, that's the likely reason. - After changing `ParallelKit.ps1` itself, start a new PowerShell window. A session keeps the kit's compiled parts until it closes; the kit tells you if it finds an older copy loaded. - One run at a time per process. The abort state is shared. A nested `Invoke-PkRun` just runs inside the outer one.