diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2022-09-18 09:33:20 -0400 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2022-09-21 18:32:51 -0400 |
commit | bb4c8c07f80a9d5503655e38f5073adce663aaa5 (patch) | |
tree | 823e043058a7bfb2df2b14232abe7626c768e898 /mesonbuild | |
parent | 496dce0666d8be925452d50d75fb46ef0f6b29a6 (diff) | |
download | meson-bb4c8c07f80a9d5503655e38f5073adce663aaa5.zip meson-bb4c8c07f80a9d5503655e38f5073adce663aaa5.tar.gz meson-bb4c8c07f80a9d5503655e38f5073adce663aaa5.tar.bz2 |
Fix cmd_or_ps.ps1 script with pwsh7
gwmi command does not exist any more and is replaced by Get-CimInstance.
See https://github.com/PowerShell/PowerShell/issues/4766.
While at it, use a do..while loop to avoid duplicated lines.
Fixes: #10820
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/scripts/cmd_or_ps.ps1 | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/mesonbuild/scripts/cmd_or_ps.ps1 b/mesonbuild/scripts/cmd_or_ps.ps1 index 1d677d9..96c32e2 100644 --- a/mesonbuild/scripts/cmd_or_ps.ps1 +++ b/mesonbuild/scripts/cmd_or_ps.ps1 @@ -1,22 +1,17 @@ # Copied from GStreamer project # Author: Seungha Yang <seungha.yang@navercorp.com> +# Xavier Claessens <xclaesse@gmail.com> $i=1 -$ppid=(gwmi win32_process -Filter "processid='$pid'").parentprocessid -$pname=(Get-Process -id $ppid).Name -While($true) { +$ppid=$PID +do { + $ppid=(Get-CimInstance Win32_Process -Filter "ProcessId=$ppid").parentprocessid + $pname=(Get-Process -id $ppid).Name if($pname -eq "cmd" -Or $pname -eq "powershell" -Or $pname -eq "pwsh") { Write-Host ("{0}.exe" -f $pname) Break } - + # not found yet, find grand parent # 10 times iteration seems to be sufficient - if($i -gt 10) { - Break - } - - # not found yet, find grand parant - $ppid=(gwmi win32_process -Filter "processid='$ppid'").parentprocessid - $pname=(Get-Process -id $ppid).Name $i++ -} +} while ($i -lt 10) |