summaryrefslogtreecommitdiff
path: root/qemu-char.c
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2013-03-26 11:07:55 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2013-03-27 10:26:49 -0500
commitc0c4bd2cfae0fb83696000f1bfc355f22e2b41cb (patch)
treeddd7d1991f2a85190b5ac5f28799fae89945e460 /qemu-char.c
parentfee204fd46016c168ca4d404d04e2c06b8b34770 (diff)
downloadqemu-c0c4bd2cfae0fb83696000f1bfc355f22e2b41cb.tar.gz
qemu-char: Add fe_open tracking
Add tracking of the fe_open state to struct CharDriverState. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Message-id: 1364292483-16564-4-git-send-email-hdegoede@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'qemu-char.c')
-rw-r--r--qemu-char.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/qemu-char.c b/qemu-char.c
index 345fd67fca..c9890ad20f 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -3412,6 +3412,10 @@ void qemu_chr_fe_set_echo(struct CharDriverState *chr, bool echo)
void qemu_chr_fe_open(struct CharDriverState *chr)
{
+ if (chr->fe_open) {
+ return;
+ }
+ chr->fe_open = 1;
if (chr->chr_guest_open) {
chr->chr_guest_open(chr);
}
@@ -3419,6 +3423,10 @@ void qemu_chr_fe_open(struct CharDriverState *chr)
void qemu_chr_fe_close(struct CharDriverState *chr)
{
+ if (!chr->fe_open) {
+ return;
+ }
+ chr->fe_open = 0;
if (chr->chr_guest_close) {
chr->chr_guest_close(chr);
}