Avoid stale PID wait in Windows updater
ci / test (push) Canceled after 0s
ci / fuzz-smoke (push) Canceled after 0s
ci / macos-client (macos-aarch64, macos-14) (push) Canceled after 0s
ci / macos-client (macos-x86_64, macos-13) (push) Canceled after 0s
ci / windows-client (push) Canceled after 0s
ci / package-release (linux-x86_64, ubuntu-latest, , , ) (push) Canceled after 0s
ci / package-release (macos-aarch64, macos-14, , , ) (push) Canceled after 0s
ci / package-release (macos-x86_64, macos-13, , , ) (push) Canceled after 0s
ci / package-release (windows-aarch64, windows-latest, aarch64, windows, aarch64-pc-windows-msvc) (push) Canceled after 0s
ci / package-release (windows-x86_64, windows-latest, , , ) (push) Canceled after 0s
ci / remote-bench (push) Canceled after 0s
ci / publish-gitea-release (push) Canceled after 0s
ci / test (push) Canceled after 0s
ci / fuzz-smoke (push) Canceled after 0s
ci / macos-client (macos-aarch64, macos-14) (push) Canceled after 0s
ci / macos-client (macos-x86_64, macos-13) (push) Canceled after 0s
ci / windows-client (push) Canceled after 0s
ci / package-release (linux-x86_64, ubuntu-latest, , , ) (push) Canceled after 0s
ci / package-release (macos-aarch64, macos-14, , , ) (push) Canceled after 0s
ci / package-release (macos-x86_64, macos-13, , , ) (push) Canceled after 0s
ci / package-release (windows-aarch64, windows-latest, aarch64, windows, aarch64-pc-windows-msvc) (push) Canceled after 0s
ci / package-release (windows-x86_64, windows-latest, , , ) (push) Canceled after 0s
ci / remote-bench (push) Canceled after 0s
ci / publish-gitea-release (push) Canceled after 0s
This commit is contained in:
@@ -4811,10 +4811,10 @@ fn windows_deferred_update_script(parent_pid: u32, installer_script: &str) -> St
|
||||
$ProgressPreference='SilentlyContinue';\
|
||||
$parent=Get-Process -Id {parent_pid} -ErrorAction SilentlyContinue;\
|
||||
$parentStart=if ($parent) {{ $parent.StartTime }} else {{ $null }};\
|
||||
while ($true) {{ \
|
||||
while ($parentStart) {{ \
|
||||
$current=Get-Process -Id {parent_pid} -ErrorAction SilentlyContinue;\
|
||||
if (-not $current) {{ break }};\
|
||||
if ($parentStart -and $current.StartTime -ne $parentStart) {{ break }};\
|
||||
if ($current.StartTime -ne $parentStart) {{ break }};\
|
||||
Start-Sleep -Milliseconds 100 \
|
||||
}};\
|
||||
{installer_script}"
|
||||
@@ -13180,12 +13180,11 @@ mod tests {
|
||||
assert!(
|
||||
deferred.contains("$parentStart=if ($parent) { $parent.StartTime } else { $null }")
|
||||
);
|
||||
assert!(deferred.contains("while ($parentStart)"));
|
||||
assert!(deferred.contains("$current=Get-Process -Id 4242 -ErrorAction SilentlyContinue"));
|
||||
assert!(deferred.contains("if (-not $current) { break }"));
|
||||
assert!(
|
||||
deferred
|
||||
.contains("if ($parentStart -and $current.StartTime -ne $parentStart) { break }")
|
||||
);
|
||||
assert!(deferred.contains("if ($current.StartTime -ne $parentStart) { break }"));
|
||||
assert!(!deferred.contains("while ($true)"));
|
||||
assert!(deferred.contains("Start-Sleep -Milliseconds 100"));
|
||||
assert!(
|
||||
deferred.contains(
|
||||
|
||||
Reference in New Issue
Block a user