docs(wsl): say what keeps a WSL distro up besides the holder (#36241)

On WSL 2.7.10 a process started through wsl.exe (orcad via setsid -f, its
terminals) keeps the distro Running with no Windows-side client; the holder
only covers the gaps when nothing runs. Reword the comments that assumed
only a Windows client keeps a distro from idling out.
This commit is contained in:
Neil
2026-10-29 23:01:32 -07:00
committed by GitHub
parent 28e4764cdd
commit 511e4feca4
3 changed files with 4 additions and 3 deletions
+2 -1
View File
@@ -72,7 +72,8 @@ export function buildWslDistroHolderScript(
].join('\n')
}
/** `wsl.exe` argv for a holder: only a Windows-side WSL client keeps a distro from idling out. */
/** `wsl.exe` argv for a holder. WSL keeps a distro up while a Windows-side client or anything started
* through one still runs (orcad, its terminals); the holder covers the gaps when nothing does. */
export function buildWslDistroHolderArgs(distro: string): string[] {
return buildWslExecArgs(distro, [
'/bin/sh',
+1 -1
View File
@@ -57,7 +57,7 @@ export type WslDistroHolder = {
): Promise<WslDistroHolderEnsureResult>
/** Startup: keep holders a previous Orca left running, drop records that are provably stale. */
adoptHolders(): Promise<WslDistroHolderAdoption[]>
/** Explicit stop only; the distro then idles out on WSL's own schedule. */
/** Explicit stop only; the distro then stops on WSL's schedule once nothing else runs in it. */
release(distro: string): Promise<WslDistroHolderState>
/** Every recorded holder (uninstall, hosts turned off); kills only verified holders. */
releaseAll(options?: WslDistroHolderReleaseOptions): Promise<WslDistroHolderAdoption[]>
+1 -1
View File
@@ -42,7 +42,7 @@ export async function removeWslHostServer(
}))
}
await connector.disconnect(record.distro)
// Without its holder the distro idles out, pending or not.
// Without its holder the distro stops once nothing started in it (a peer's orcad, user jobs) runs.
await connector.releaseHolder(record.distro)
}
serverStop = noteServerKeptForPeers(userDataPath, record.environmentId, serverStop)