[glib] gsocket: use check/prepare only on win32



commit 8da795de4f04dad35029a36c155d0b299d739840
Author: Ryan Lortie <desrt desrt ca>
Date:   Thu Feb 13 17:07:07 2014 -0500

    gsocket: use check/prepare only on win32
    
    There is no longer any code left in the check/prepare functions on UNIX,
    so put %NULL in the GSourceFuncs vtable.
    
    This also allows us to simplify some logic.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=724707

 gio/gsocket.c |   27 +++++++++++++--------------
 1 files changed, 13 insertions(+), 14 deletions(-)
---
diff --git a/gio/gsocket.c b/gio/gsocket.c
index 0ec8854..4590c38 100644
--- a/gio/gsocket.c
+++ b/gio/gsocket.c
@@ -3213,31 +3213,26 @@ typedef struct {
   GIOCondition  condition;
 } GSocketSource;
 
+#ifdef G_OS_WIN32
 static gboolean
-socket_source_prepare (GSource *source,
-                      gint    *timeout)
+socket_source_prepare_win32 (GSource *source,
+                             gint    *timeout)
 {
   GSocketSource *socket_source = (GSocketSource *)source;
 
   *timeout = -1;
 
-#ifdef G_OS_WIN32
-  socket_source->pollfd.revents = update_condition (socket_source->socket);
-
-  if ((socket_source->condition & socket_source->pollfd.revents) != 0)
-    return TRUE;
-#endif
-
-  return FALSE;
+  return (update_condition (socket_source->socket) & socket_source->condition) != 0;
 }
 
 static gboolean
-socket_source_check (GSource *source)
+socket_source_check_win32 (GSource *source)
 {
   int timeout;
 
-  return socket_source_prepare (source, &timeout);
+  return socket_source_prepare_win32 (source, &timeout);
 }
+#endif
 
 static gboolean
 socket_source_dispatch (GSource     *source,
@@ -3319,8 +3314,12 @@ socket_source_closure_callback (GSocket      *socket,
 
 static GSourceFuncs socket_source_funcs =
 {
-  socket_source_prepare,
-  socket_source_check,
+#ifdef G_OS_WIN32
+  socket_source_prepare_win32,
+  socket_source_check_win32,
+#else
+  NULL, NULL, /* check, prepare */
+#endif
   socket_source_dispatch,
   socket_source_finalize,
   (GSourceFunc)socket_source_closure_callback,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]