diff options
Diffstat (limited to 'meta-oe/recipes-support/pv/pv/0001-pv-display-handle-error-of-tcgetpgrp-in-pv_in_foregr.patch')
-rw-r--r-- | meta-oe/recipes-support/pv/pv/0001-pv-display-handle-error-of-tcgetpgrp-in-pv_in_foregr.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/pv/pv/0001-pv-display-handle-error-of-tcgetpgrp-in-pv_in_foregr.patch b/meta-oe/recipes-support/pv/pv/0001-pv-display-handle-error-of-tcgetpgrp-in-pv_in_foregr.patch new file mode 100644 index 0000000000..c51fb1cfdb --- /dev/null +++ b/meta-oe/recipes-support/pv/pv/0001-pv-display-handle-error-of-tcgetpgrp-in-pv_in_foregr.patch @@ -0,0 +1,40 @@ +From c5cd932fb08e7ce90cdbf9ae6c5cc7e65ac0738e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20Wei=C3=9F?= <michael.weiss@aisec.fraunhofer.de> +Date: Tue, 9 May 2023 20:00:26 +0200 +Subject: [PATCH] pv/display: handle error of tcgetpgrp() in pv_in_foreground() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Show pv progress bar even if no terminal is set, e.g., in a busybox +init script. The description of pv_in_forground() states it will +return true "if we aren't outputting to a terminal". However, this +is not the case since tcgetpgrg() will return an error and set ERRNO +to ENOTTY if the output fd is not an tty. We now handle this error +correctly and pv_in_foreground() returns also true in that case. + +Signed-off-by: Michael Weiß <michael.weiss@aisec.fraunhofer.de> +--- +Upstream-Status: Pending + + src/pv/display.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/pv/display.c b/src/pv/display.c +index aff643b..8d1f4c9 100644 +--- a/src/pv/display.c ++++ b/src/pv/display.c +@@ -48,6 +48,10 @@ bool pv_in_foreground(void) + + our_process_group = getpgrp(); + tty_process_group = tcgetpgrp(STDERR_FILENO); ++ ++ if (tty_process_group == -1 && errno == ENOTTY) ++ return true; ++ + if (our_process_group == tty_process_group) + return true; + +-- +2.30.2 + |