On 10/22/2014 04:26 AM, john.liuli wrote:
> From: Li Liu <john.li...@huawei.com>
> 
> qtest_log_fp should be inited before qemu_chr_add_handlers.
> If not the log dumped from callback functions may be lost.
> 
> easy to reproduce it by command:
> "QTEST_LOG=1 QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64
> gtester -k --verbose -m=quick tests/qdev-monitor-test"
> 
> The log "[I xxxxxx] OPENED" should be printed out by
> qtest_event, but does not.
> 
> Signed-off-by: Li Liu <john.li...@huawei.com>
> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com>
> ---
>  qtest.c |    9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/qtest.c b/qtest.c
> index ef0d991..2a33d98 100644
> --- a/qtest.c
> +++ b/qtest.c
> @@ -537,11 +537,6 @@ void qtest_init(const char *qtest_chrdev, const char 
> *qtest_log, Error **errp)
>          return;
>      }
>  
> -    qemu_chr_add_handlers(chr, qtest_can_read, qtest_read, qtest_event, chr);
> -    qemu_chr_fe_set_echo(chr, true);
> -
> -    inbuf = g_string_new("");
> -
>      if (qtest_log) {
>          if (strcmp(qtest_log, "none") != 0) {
>              qtest_log_fp = fopen(qtest_log, "w+");
> @@ -550,6 +545,10 @@ void qtest_init(const char *qtest_chrdev, const char 
> *qtest_log, Error **errp)
>          qtest_log_fp = stderr;
>      }
>  
> +    qemu_chr_add_handlers(chr, qtest_can_read, qtest_read, qtest_event, chr);
> +    qemu_chr_fe_set_echo(chr, true);
> +
> +    inbuf = g_string_new("");
>      qtest_chr = chr;
>  }
>  
> 

Thanks, applying.

Paolo

Reply via email to