From 1f7100506a51584e66930851c5243fd2eaee5c35 Mon Sep 17 00:00:00 2001 From: Ryan Lortie Date: Thu, 13 Feb 2014 16:58:34 -0500 Subject: [PATCH] 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 file 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 () + -- 2.7.4