diff mbox

[8/9] char: use the new udp_chr_detach to dedup code

Message ID 01a44545ccfe5d75fbc2504d84a768a49b9ad5d0.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, 4 insertions(+), 13 deletions(-)
diff mbox

Patch

diff --git a/qemu-char.c b/qemu-char.c
index d667e8c..2caab95 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -2240,10 +2240,7 @@  static gboolean udp_chr_read(GIOChannel *chan, GIOCondition cond, void *opaque)
     s->bufcnt = bytes_read;
     s->bufptr = s->bufcnt;
     if (status != G_IO_STATUS_NORMAL) {
-        if (s->tag) {
-            io_remove_watch_poll(s->tag);
-            s->tag = 0;
-        }
+        udp_chr_detach(chr);
         return FALSE;
     }
 
@@ -2261,11 +2258,7 @@  static void udp_chr_update_read_handler(CharDriverState *chr)
 {
     NetCharDriver *s = chr->opaque;
 
-    if (s->tag) {
-        io_remove_watch_poll(s->tag);
-        s->tag = 0;
-    }
-
+    udp_chr_detach(chr);
     if (s->chan) {
         s->tag = io_add_watch_poll(s->chan, udp_chr_read_poll, udp_chr_read, chr);
     }
@@ -2274,10 +2267,8 @@  static void udp_chr_update_read_handler(CharDriverState *chr)
 static void udp_chr_close(CharDriverState *chr)
 {
     NetCharDriver *s = chr->opaque;
-    if (s->tag) {
-        io_remove_watch_poll(s->tag);
-        s->tag = 0;
-    }
+
+    udp_chr_detach(chr);
     if (s->chan) {
         g_io_channel_unref(s->chan);
         closesocket(s->fd);