[Qemu-devel] [PATCH] vl: make sure char-pty message displayed by moving setbuf to the beginning

Wei Yang posted 1 patch 4 years, 9 months ago
Test docker-clang@ubuntu passed
Test asan passed
Test docker-mingw@fedora passed
Test FreeBSD passed
Test checkpatch passed
Test s390x passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190716072127.2000-1-richardw.yang@linux.intel.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>
vl.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[Qemu-devel] [PATCH] vl: make sure char-pty message displayed by moving setbuf to the beginning
Posted by Wei Yang 4 years, 9 months ago
Recently we found a behavior change after commit 6ade45f2ac93611
('char-pty: Print "char device redirected" message to stdout').

When we redirect output to a file, the message "char device redirected
to PTY_NAME (label LABEL)" would not be seen at the beginning of the
file. Instead, the message is displayed after QEMU quit. This will block
test automation.

The reason is this message is printed after we set line buffer mode. So
move this to the beginning.

Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
---
 vl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/vl.c b/vl.c
index 5089fce6c5..a5808f9a02 100644
--- a/vl.c
+++ b/vl.c
@@ -2890,6 +2890,8 @@ int main(int argc, char **argv, char **envp)
     char *dir, **dirs;
     BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue);
 
+    os_set_line_buffering();
+
     error_init(argv[0]);
     module_call_init(MODULE_INIT_TRACE);
 
@@ -4246,8 +4248,6 @@ int main(int argc, char **argv, char **envp)
         semihosting_arg_fallback(kernel_filename, kernel_cmdline);
     }
 
-    os_set_line_buffering();
-
     /* spice needs the timers to be initialized by this point */
     qemu_spice_init();
 
-- 
2.17.1


Re: [Qemu-devel] [PATCH] vl: make sure char-pty message displayed by moving setbuf to the beginning
Posted by Paolo Bonzini 4 years, 9 months ago
On 16/07/19 09:21, Wei Yang wrote:
> Recently we found a behavior change after commit 6ade45f2ac93611
> ('char-pty: Print "char device redirected" message to stdout').
> 
> When we redirect output to a file, the message "char device redirected
> to PTY_NAME (label LABEL)" would not be seen at the beginning of the
> file. Instead, the message is displayed after QEMU quit. This will block
> test automation.
> 
> The reason is this message is printed after we set line buffer mode. So
> move this to the beginning.
> 
> Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
> ---
>  vl.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/vl.c b/vl.c
> index 5089fce6c5..a5808f9a02 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2890,6 +2890,8 @@ int main(int argc, char **argv, char **envp)
>      char *dir, **dirs;
>      BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue);
>  
> +    os_set_line_buffering();
> +
>      error_init(argv[0]);
>      module_call_init(MODULE_INIT_TRACE);
>  
> @@ -4246,8 +4248,6 @@ int main(int argc, char **argv, char **envp)
>          semihosting_arg_fallback(kernel_filename, kernel_cmdline);
>      }
>  
> -    os_set_line_buffering();
> -
>      /* spice needs the timers to be initialized by this point */
>      qemu_spice_init();
>  
> 

Queued, thanks.

Paolo