char: emit the OPENED event only when a new char connection is opened
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. Patchworks-ID: 35288 Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
b6b8df560c
commit
6cfa64de90
@ -119,7 +119,12 @@ static void qemu_chr_event(CharDriverState *s, int event)
|
|||||||
static void qemu_chr_reset_bh(void *opaque)
|
static void qemu_chr_reset_bh(void *opaque)
|
||||||
{
|
{
|
||||||
CharDriverState *s = 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);
|
qemu_bh_delete(s->bh);
|
||||||
s->bh = NULL;
|
s->bh = NULL;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#ifndef QEMU_CHAR_H
|
#ifndef QEMU_CHAR_H
|
||||||
#define QEMU_CHAR_H
|
#define QEMU_CHAR_H
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "qemu-queue.h"
|
#include "qemu-queue.h"
|
||||||
#include "qemu-option.h"
|
#include "qemu-option.h"
|
||||||
@ -66,6 +67,7 @@ struct CharDriverState {
|
|||||||
QEMUBH *bh;
|
QEMUBH *bh;
|
||||||
char *label;
|
char *label;
|
||||||
char *filename;
|
char *filename;
|
||||||
|
bool initial_reset_issued;
|
||||||
QTAILQ_ENTRY(CharDriverState) next;
|
QTAILQ_ENTRY(CharDriverState) next;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user