chardev: remove context in chr_update_read_handler
authorPeter Xu <peterx@redhat.com>
Thu, 21 Sep 2017 06:35:54 +0000 (14:35 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 22 Sep 2017 19:07:27 +0000 (21:07 +0200)
We had a per-chardev cache for context, then we don't need this
parameter to be passed in every time when chr_update_read_handler()
called.  As long as we are calling chr_update_read_handler() using
qemu_chr_be_update_read_handlers() we'll be fine.

Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <1505975754-21555-5-git-send-email-peterx@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
chardev/char-fd.c
chardev/char-pty.c
chardev/char-socket.c
chardev/char-udp.c
chardev/char.c
include/chardev/char.h

index 09fbb078af190542a6ccc84456db5f20e7e603e0..2c9b2ce56768d9742f6d37f499819b01cb77d5f8 100644 (file)
@@ -84,8 +84,7 @@ static GSource *fd_chr_add_watch(Chardev *chr, GIOCondition cond)
     return qio_channel_create_watch(s->ioc_out, cond);
 }
 
-static void fd_chr_update_read_handler(Chardev *chr,
-                                       GMainContext *context)
+static void fd_chr_update_read_handler(Chardev *chr)
 {
     FDChardev *s = FD_CHARDEV(chr);
 
index d239c04bc3d783259ebb36f897e99bd8f01a35ae..761ae6dec16c5deac3753181ae38549a8fa47a49 100644 (file)
@@ -112,8 +112,7 @@ static void pty_chr_update_read_handler_locked(Chardev *chr)
     }
 }
 
-static void pty_chr_update_read_handler(Chardev *chr,
-                                        GMainContext *context)
+static void pty_chr_update_read_handler(Chardev *chr)
 {
     qemu_mutex_lock(&chr->chr_write_lock);
     pty_chr_update_read_handler_locked(chr);
index ee71cbed5bb2ecb2ba8cfc0be88cbfdc79205c8a..e65148fe973cfbe291a95e994d819fcb7655568a 100644 (file)
@@ -521,8 +521,7 @@ static void tcp_chr_connect(void *opaque)
     qemu_chr_be_event(chr, CHR_EVENT_OPENED);
 }
 
-static void tcp_chr_update_read_handler(Chardev *chr,
-                                        GMainContext *context)
+static void tcp_chr_update_read_handler(Chardev *chr)
 {
     SocketChardev *s = SOCKET_CHARDEV(chr);
 
index 106dee1a29cb55a8a4831b1a60313411282e21cb..d46ff7ab531b8b98d5ffcf5ffdb4b651745d4818 100644 (file)
@@ -100,8 +100,7 @@ static gboolean udp_chr_read(QIOChannel *chan, GIOCondition cond, void *opaque)
     return TRUE;
 }
 
-static void udp_chr_update_read_handler(Chardev *chr,
-                                        GMainContext *context)
+static void udp_chr_update_read_handler(Chardev *chr)
 {
     UdpChardev *s = UDP_CHARDEV(chr);
 
index 89eabea5acba53dc3c5ba0e573322728c216175d..2ae4f465ecf891b3ad0314c93fea8f0cc7abffdb 100644 (file)
@@ -187,7 +187,7 @@ void qemu_chr_be_update_read_handlers(Chardev *s,
 
     s->gcontext = context;
     if (cc->chr_update_read_handler) {
-        cc->chr_update_read_handler(s, context);
+        cc->chr_update_read_handler(s);
     }
 }
 
index 84fb7735911c5f66f084f1a3d9d1bd27c3c55a87..43aabccef557f7a4989c0d23117f8cb9c77eed32 100644 (file)
@@ -238,7 +238,7 @@ typedef struct ChardevClass {
     int (*chr_write)(Chardev *s, const uint8_t *buf, int len);
     int (*chr_sync_read)(Chardev *s, const uint8_t *buf, int len);
     GSource *(*chr_add_watch)(Chardev *s, GIOCondition cond);
-    void (*chr_update_read_handler)(Chardev *s, GMainContext *context);
+    void (*chr_update_read_handler)(Chardev *s);
     int (*chr_ioctl)(Chardev *s, int cmd, void *arg);
     int (*get_msgfds)(Chardev *s, int* fds, int num);
     int (*set_msgfds)(Chardev *s, int *fds, int num);