diff mbox

[6/9] char: use the new fd_chr_detach to dedup code

Message ID 2db8d1cf099cfa03cbfbc3d98edfe64fd13b6672.1377666450.git.amit.shah@redhat.com
State New
Headers show

Commit Message

Amit Shah Aug. 28, 2013, 5:10 a.m. UTC
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
 qemu-char.c | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)
diff mbox

Patch

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);
     }