[pve-devel] applied-esries: [PATCH installer v2 0/6] fix #4872: properly timeout `traceroute` command in country detection
Thomas Lamprecht
t.lamprecht at proxmox.com
Fri Feb 23 16:17:47 CET 2024
Am 13/02/2024 um 16:13 schrieb Christoph Heiss:
> For all the details, see patch #6.
>
> TL;DR: SIGALRM does not interrupt line reading using <>, causing the
> installer to hang on country detection. Fix it by using
> Proxmox::Sys::Command::run_command(), which properly interacts with
> SIGALRM.
>
> Patch #1 is a rather mundane fix for some niche cases, #2 is a small
> refactoring as proposed by Thomas and #3 might warrant some more
> thought. #4 & #5 are preparatory and to not alter existing behaviour.
>
> v1: https://lists.proxmox.com/pipermail/pve-devel/2024-February/061677.html
>
> Changes since v1:
> * new patches #2 (refactoring) and #3 (EINTR handling)
> * introduce CMD_FINISHED constant for run_command()
> * added function documentation
>
> Christoph Heiss (6):
> low-level: initialize UI backend for 'dump-env' subcommand too
> sys: command: factor out kill() + waitpid() from run_command()
> sys: command: handle EINTR in run_command()
> sys: command: allow terminating the process early from log subroutine
> sys: command: add option to not print process output to stdout
> fix #4872: run env: use run_command() for country detection
>
> Proxmox/Install/RunEnv.pm | 22 +++++-----
> Proxmox/Sys/Command.pm | 85 ++++++++++++++++++++++++++++++++-----
> proxmox-low-level-installer | 1 +
> test/Makefile | 5 ++-
> test/run-command.pl | 46 ++++++++++++++++++++
> 5 files changed, 137 insertions(+), 22 deletions(-)
> create mode 100755 test/run-command.pl
>
> --
> 2.43.0
>
applied series, with a small follow-up to that tries to make wait_for_process
a bit more forgiving towards processes that need a bit of time for a graceful
exit, thanks!
More information about the pve-devel
mailing list