[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