libvirt/virsh-fflush-stdout-after-fputs.patch
jiang jiacheng adddc503d8 Backport patches from upstream
Signed-off-by: jiang jiacheng <jiangjiacheng@huawei.com>
2023-01-04 12:02:07 +08:00

56 lines
1.6 KiB
Diff

From b50bad542e62e13c55f5b9057f7ca869f818c3e9 Mon Sep 17 00:00:00 2001
From: xuyinghao <xuyinghao2@huawei.com>
Date: Tue, 9 Aug 2022 18:59:08 +0800
Subject: [PATCH 12/22] virsh: fflush(stdout) after fputs()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Description: We are not guaranteed that the string we are printing onto stdout contains '\n' and thus that the stdout is flushed. Flush stdout after all fputs()-s which do not flush stdout.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
---
tools/vsh.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tools/vsh.c b/tools/vsh.c
index 9bb4ff043a..3646f37cea 100644
--- a/tools/vsh.c
+++ b/tools/vsh.c
@@ -1829,6 +1829,7 @@ vshDebug(vshControl *ctl, int level, const char *format, ...)
str = g_strdup_vprintf(format, ap);
va_end(ap);
fputs(str, stdout);
+ fflush(stdout);
VIR_FREE(str);
}
@@ -1845,6 +1846,7 @@ vshPrintExtra(vshControl *ctl, const char *format, ...)
str = g_strdup_vprintf(format, ap);
va_end(ap);
fputs(str, stdout);
+ fflush(stdout);
VIR_FREE(str);
}
@@ -1859,6 +1861,7 @@ vshPrint(vshControl *ctl G_GNUC_UNUSED, const char *format, ...)
str = g_strdup_vprintf(format, ap);
va_end(ap);
fputs(str, stdout);
+ fflush(stdout);
VIR_FREE(str);
}
@@ -2950,6 +2953,7 @@ vshReadline(vshControl *ctl G_GNUC_UNUSED,
int len;
fputs(prompt, stdout);
+ fflush(stdout);
r = fgets(line, sizeof(line), stdin);
if (r == NULL) return NULL; /* EOF */
--
2.33.0