From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56664) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VEY2S-0006KM-L0 for qemu-devel@nongnu.org; Wed, 28 Aug 2013 01:11:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VEY2M-000543-Ft for qemu-devel@nongnu.org; Wed, 28 Aug 2013 01:11:28 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42824) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VEY2M-00053z-6S for qemu-devel@nongnu.org; Wed, 28 Aug 2013 01:11:22 -0400 From: Amit Shah Date: Wed, 28 Aug 2013 10:40:48 +0530 Message-Id: <2db8d1cf099cfa03cbfbc3d98edfe64fd13b6672.1377666450.git.amit.shah@redhat.com> In-Reply-To: References: In-Reply-To: References: Subject: [Qemu-devel] [PATCH 6/9] char: use the new fd_chr_detach to dedup code List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu list Cc: Amit Shah , Paolo Bonzini , Gerd Hoffmann , Anthony Liguori , Hans de Goede Signed-off-by: Amit Shah --- qemu-char.c | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/qemu-char.c b/qemu-char.c index 4b26ff9..88ed131 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -844,10 +844,7 @@ static gboolean fd_chr_read(GIOChannel *chan, GIOCondition cond, void *opaque) status = g_io_channel_read_chars(chan, (gchar *)buf, len, &bytes_read, NULL); if (status == G_IO_STATUS_EOF) { - if (s->fd_in_tag) { - io_remove_watch_poll(s->fd_in_tag); - s->fd_in_tag = 0; - } + fd_chr_detach(chr); qemu_chr_be_event(chr, CHR_EVENT_CLOSED); return FALSE; } @@ -877,11 +874,7 @@ static void fd_chr_update_read_handler(CharDriverState *chr) { FDCharDriver *s = chr->opaque; - if (s->fd_in_tag) { - io_remove_watch_poll(s->fd_in_tag); - s->fd_in_tag = 0; - } - + fd_chr_detach(chr); if (s->fd_in) { s->fd_in_tag = io_add_watch_poll(s->fd_in, fd_chr_read_poll, fd_chr_read, chr); } @@ -891,11 +884,7 @@ static void fd_chr_close(struct CharDriverState *chr) { FDCharDriver *s = chr->opaque; - if (s->fd_in_tag) { - io_remove_watch_poll(s->fd_in_tag); - s->fd_in_tag = 0; - } - + fd_chr_detach(chr); if (s->fd_in) { g_io_channel_unref(s->fd_in); } -- 1.8.3.1