[glib] gsocket: don't abuse GPollFD.revents field
- From: Ryan Lortie <desrt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] gsocket: don't abuse GPollFD.revents field
- Date: Sat, 22 Feb 2014 15:27:43 +0000 (UTC)
commit 1f7100506a51584e66930851c5243fd2eaee5c35
Author: Ryan Lortie <desrt desrt ca>
Date: Thu Feb 13 16:58:34 2014 -0500
gsocket: don't abuse GPollFD.revents field
We are reusing the GPollFD.revents field of the source to store a
temporary value. Use a local variable for that instead.
This is a refactor to make the next commit easier to understand.
https://bugzilla.gnome.org/show_bug.cgi?id=724707
gio/gsocket.c | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
---
diff --git a/gio/gsocket.c b/gio/gsocket.c
index 79aab0e..c7262d6 100644
--- a/gio/gsocket.c
+++ b/gio/gsocket.c
@@ -3259,17 +3259,19 @@ socket_source_dispatch (GSource *source,
GSocketSourceFunc func = (GSocketSourceFunc)callback;
GSocketSource *socket_source = (GSocketSource *)source;
GSocket *socket = socket_source->socket;
+ guint events;
gboolean ret;
#ifdef G_OS_WIN32
- socket_source->pollfd.revents = update_condition (socket_source->socket);
+ events = update_condition (socket_source->socket);
+#else
+ events = socket_source->pollfd.revents;
#endif
+
if (socket_source->socket->priv->timed_out)
- socket_source->pollfd.revents |= socket_source->condition & (G_IO_IN | G_IO_OUT);
+ events |= socket_source->condition & (G_IO_IN | G_IO_OUT);
- ret = (*func) (socket,
- socket_source->pollfd.revents & socket_source->condition,
- user_data);
+ ret = (*func) (socket, events & socket_source->condition, user_data);
if (socket->priv->timeout)
socket_source->timeout_time = g_get_monotonic_time () +
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]