vl: make sure char-pty message displayed by moving setbuf to the beginning
diff mbox series

Message ID 20190716072127.2000-1-richardw.yang@linux.intel.com
State New
Headers show
Series
  • vl: make sure char-pty message displayed by moving setbuf to the beginning
Related show

Commit Message

Wei Yang July 16, 2019, 7:21 a.m. UTC
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(-)

Comments

Paolo Bonzini July 16, 2019, 7:27 a.m. UTC | #1
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

Patch
diff mbox series

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();