qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] qemu-char: do not forward events through the mu


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [PATCH] qemu-char: do not forward events through the mux until QEMU has started
Date: Thu, 27 Oct 2016 14:52:20 +0100
User-agent: Mutt/1.7.1 (2016-10-04)

* Paolo Bonzini (address@hidden) wrote:
> Otherwise, the CHR_EVENT_OPENED event is sent twice: first when the
> backend (for example "stdio") is opened, and second after processing
> the command line.
> 
> The incorrect sending of the event prints the monitor banner when
> QEMU is started with "-serial mon:stdio".  This includes the "(qemu)"
> prompt; thus the monitor seems to be dead, whereas actually the
> active front-end is the serial port.
> 
> Reported-by: Dr. David Alan Gilbert <address@hidden>
> Signed-off-by: Paolo Bonzini <address@hidden>

ok, that seems to fix the monitor; it doesn't fix slirp.

Tested--by: Dr. David Alan Gilbert <address@hidden>

Dave

> ---
>  qemu-char.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/qemu-char.c b/qemu-char.c
> index 6dd779f..2e02d95 100644
> --- a/qemu-char.c
> +++ b/qemu-char.c
> @@ -735,19 +735,23 @@ static void mux_chr_read(void *opaque, const uint8_t 
> *buf, int size)
>          }
>  }
>  
> +static bool muxes_realized;
> +
>  static void mux_chr_event(void *opaque, int event)
>  {
>      CharDriverState *chr = opaque;
>      MuxDriver *d = chr->opaque;
>      int i;
>  
> +    if (!muxes_realized) {
> +        return;
> +    }
> +
>      /* Send the event to all registered listeners */
>      for (i = 0; i < d->mux_cnt; i++)
>          mux_chr_send_event(d, i, event);
>  }
>  
> -static bool muxes_realized;
> -
>  /**
>   * Called after processing of default and command-line-specified
>   * chardevs to deliver CHR_EVENT_OPENED events to any FEs attached
> -- 
> 2.7.4
> 
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

[Prev in Thread] Current Thread [Next in Thread]