Amit Shah wrote:
> The OPENED event gets sent also when qemu resets its state initially.
> The consumers of the event aren't interested in receiving this event
> on reset.

The monitor was. Now its initial prompt on activation is broken.

Does this patch fix/improve something for a different user? If not,
please let us revert it.

Jan

> 
> Signed-off-by: Amit Shah <amit.s...@redhat.com>
> ---
>  qemu-char.c |    7 ++++++-
>  qemu-char.h |    2 ++
>  2 files changed, 8 insertions(+), 1 deletions(-)
> 
> diff --git a/qemu-char.c b/qemu-char.c
> index 4757689..0fd402c 100644
> --- a/qemu-char.c
> +++ b/qemu-char.c
> @@ -119,7 +119,12 @@ static void qemu_chr_event(CharDriverState *s, int event)
>  static void qemu_chr_reset_bh(void *opaque)
>  {
>      CharDriverState *s = opaque;
> -    qemu_chr_event(s, CHR_EVENT_OPENED);
> +
> +    if (s->initial_reset_issued) {
> +        qemu_chr_event(s, CHR_EVENT_OPENED);
> +    } else {
> +        s->initial_reset_issued = true;
> +    }
>      qemu_bh_delete(s->bh);
>      s->bh = NULL;
>  }
> diff --git a/qemu-char.h b/qemu-char.h
> index 05fe15d..409961d 100644
> --- a/qemu-char.h
> +++ b/qemu-char.h
> @@ -1,6 +1,7 @@
>  #ifndef QEMU_CHAR_H
>  #define QEMU_CHAR_H
>  
> +#include <stdbool.h>
>  #include "qemu-common.h"
>  #include "qemu-queue.h"
>  #include "qemu-option.h"
> @@ -66,6 +67,7 @@ struct CharDriverState {
>      QEMUBH *bh;
>      char *label;
>      char *filename;
> +    bool initial_reset_issued;
>      QTAILQ_ENTRY(CharDriverState) next;
>  };
>  



Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to