From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:34116) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qnuaq-0004qD-N0 for qemu-devel@nongnu.org; Mon, 01 Aug 2011 11:39:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qnuan-0006Rc-UX for qemu-devel@nongnu.org; Mon, 01 Aug 2011 11:39:48 -0400 Received: from mail-gw0-f45.google.com ([74.125.83.45]:55721) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qnuan-0006RY-RR for qemu-devel@nongnu.org; Mon, 01 Aug 2011 11:39:45 -0400 Received: by gwb19 with SMTP id 19so4414726gwb.4 for ; Mon, 01 Aug 2011 08:39:45 -0700 (PDT) Message-ID: <4E36C8BF.8060505@codemonkey.ws> Date: Mon, 01 Aug 2011 10:39:43 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1312208590-25502-1-git-send-email-aliguori@us.ibm.com> <1312208590-25502-13-git-send-email-aliguori@us.ibm.com> <20110801153812.GE2574@bow.tlv.redhat.com> In-Reply-To: <20110801153812.GE2574@bow.tlv.redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 12/12] char: enforce the use of qemu_chr_guest_open() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori , qemu-devel@nongnu.org, Amit Shah , Hans de Goede On 08/01/2011 10:38 AM, Alon Levy wrote: > On Mon, Aug 01, 2011 at 09:23:10AM -0500, Anthony Liguori wrote: >> Signed-off-by: Anthony Liguori > > Title should be "fe_open", not guest_open. Indeed, thanks. Regards, Anthony Liguori > >> --- >> qemu-char.c | 10 ++++++++++ >> qemu-char.h | 2 ++ >> 2 files changed, 12 insertions(+), 0 deletions(-) >> >> diff --git a/qemu-char.c b/qemu-char.c >> index fb7c937..5e62795 100644 >> --- a/qemu-char.c >> +++ b/qemu-char.c >> @@ -206,6 +206,8 @@ int qemu_chr_fe_write(CharDriverState *s, const uint8_t *buf, int len) >> int ret; >> bool is_empty; >> >> + assert(s->fe_opened> 0); >> + >> is_empty = char_queue_get_empty(&s->fe_tx); >> >> ret = char_queue_write(&s->fe_tx, buf, len); >> @@ -228,6 +230,8 @@ int qemu_chr_fe_read(CharDriverState *s, uint8_t *buf, int len) >> bool is_full; >> int ret; >> >> + assert(s->fe_opened> 0); >> + >> is_full = (char_queue_get_avail(&s->be_tx) == 0); >> >> ret = char_queue_read(&s->be_tx, buf, len); >> @@ -249,6 +253,8 @@ void qemu_chr_fe_set_handlers(CharDriverState *s, >> IOEventHandler *chr_event, >> void *opaque) >> { >> + assert(s->fe_opened> 0); >> + >> if (!opaque&& !chr_read&& !chr_write&& !chr_event) { >> /* chr driver being released. */ >> ++s->avail_connections; >> @@ -2822,6 +2828,8 @@ void qemu_chr_set_echo(struct CharDriverState *chr, bool echo) >> >> void qemu_chr_fe_open(struct CharDriverState *chr) >> { >> + chr->fe_opened++; >> + >> if (chr->chr_guest_open) { >> chr->chr_guest_open(chr); >> } >> @@ -2832,6 +2840,8 @@ void qemu_chr_fe_close(struct CharDriverState *chr) >> if (chr->chr_guest_close) { >> chr->chr_guest_close(chr); >> } >> + >> + chr->fe_opened--; >> } >> >> void qemu_chr_close(CharDriverState *chr) >> diff --git a/qemu-char.h b/qemu-char.h >> index 8b37fcf..b910c5e 100644 >> --- a/qemu-char.h >> +++ b/qemu-char.h >> @@ -88,6 +88,8 @@ struct CharDriverState { >> int opened; >> int avail_connections; >> >> + int fe_opened; >> + >> CharQueue fe_tx; >> CharQueue be_tx; >> >> -- >> 1.7.4.1 >> >> >