From: Peter Xu <peterx@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
"Daniel P . Berrange" <berrange@redhat.com>,
"Eric Blake" <eblake@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Juan Quintela" <quintela@redhat.com>,
"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
peterx@redhat.com
Subject: [Qemu-devel] [PATCH v2 4/4] chardev: remove context in chr_update_read_handler
Date: Thu, 21 Sep 2017 14:35:54 +0800 [thread overview]
Message-ID: <1505975754-21555-5-git-send-email-peterx@redhat.com> (raw)
In-Reply-To: <1505975754-21555-1-git-send-email-peterx@redhat.com>
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>
---
chardev/char-fd.c | 3 +--
chardev/char-pty.c | 3 +--
chardev/char-socket.c | 3 +--
chardev/char-udp.c | 3 +--
chardev/char.c | 2 +-
include/chardev/char.h | 2 +-
6 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/chardev/char-fd.c b/chardev/char-fd.c
index 09fbb07..2c9b2ce 100644
--- a/chardev/char-fd.c
+++ b/chardev/char-fd.c
@@ -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);
diff --git a/chardev/char-pty.c b/chardev/char-pty.c
index d239c04..761ae6d 100644
--- a/chardev/char-pty.c
+++ b/chardev/char-pty.c
@@ -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);
diff --git a/chardev/char-socket.c b/chardev/char-socket.c
index ee71cbe..e65148f 100644
--- a/chardev/char-socket.c
+++ b/chardev/char-socket.c
@@ -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);
diff --git a/chardev/char-udp.c b/chardev/char-udp.c
index 106dee1..d46ff7a 100644
--- a/chardev/char-udp.c
+++ b/chardev/char-udp.c
@@ -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);
diff --git a/chardev/char.c b/chardev/char.c
index 89eabea..2ae4f46 100644
--- a/chardev/char.c
+++ b/chardev/char.c
@@ -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);
}
}
diff --git a/include/chardev/char.h b/include/chardev/char.h
index 84fb773..43aabcc 100644
--- a/include/chardev/char.h
+++ b/include/chardev/char.h
@@ -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);
--
2.7.4
next prev parent reply other threads:[~2017-09-21 6:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-21 6:35 [Qemu-devel] [PATCH v2 0/4] chardev: support non-default gcontext Peter Xu
2017-09-21 6:35 ` [Qemu-devel] [PATCH v2 1/4] chardev: new qemu_chr_be_update_read_handlers() Peter Xu
2017-09-21 6:35 ` [Qemu-devel] [PATCH v2 2/4] chardev: add Chardev.gcontext field Peter Xu
2017-09-21 6:35 ` [Qemu-devel] [PATCH v2 3/4] chardev: use per-dev context for io_add_watch_poll Peter Xu
2017-09-21 14:11 ` Paolo Bonzini
2017-09-22 9:18 ` Peter Xu
2017-09-21 6:35 ` Peter Xu [this message]
2017-09-21 12:05 ` [Qemu-devel] [PATCH v2 0/4] chardev: support non-default gcontext Marc-André Lureau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1505975754-21555-5-git-send-email-peterx@redhat.com \
--to=peterx@redhat.com \
--cc=berrange@redhat.com \
--cc=dgilbert@redhat.com \
--cc=eblake@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).