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! _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel