[glib/wip/gmaincontext: 6/12] gsocket: don't abuse GPollFD.revents field



commit 16b4604d9381e15c375b7b69f4731fafe32c6b15
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.

 gio/gsocket.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
---
diff --git a/gio/gsocket.c b/gio/gsocket.c
index bbc1b57..7c431c9 100644
--- a/gio/gsocket.c
+++ b/gio/gsocket.c
@@ -3259,17 +3259,18 @@ 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);
 
-  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]