]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/socket.cpp
wxDataObejct and related changes (won't compile right now)
[wxWidgets.git] / src / common / socket.cpp
index dba14f4829e2d776cb1679f527bcd02c47e8dec9..e9f958b92838cfea6489fd02e58cd95077bc1a11 100644 (file)
 #include "wx/sckaddr.h"
 #include "wx/socket.h"
 
-// GRG: Why is this needed?
 
-#ifdef __WXGTK__
+#if defined(__WXMSW__) || defined(__WXPM__)
+#define PROCESS_EVENTS() wxYield()
+#elif defined(__WXGTK__)
 #include <gtk/gtk.h>
-#define wxYield() gtk_main_iteration()
-#endif  
+#define PROCESS_EVENTS() gtk_main_iteration()
+#endif
+
 
 // --------------------------------------------------------------
 // ClassInfos
@@ -186,9 +188,9 @@ wxUint32 wxSocketBase::DeferRead(char *buffer, wxUint32 nbytes)
     DoDefer();
   }
 
-  // Wait for buffer completion. 
+  // Wait for buffer completion.
   while (m_defer_buffer != NULL)
-    wxYield();
+    PROCESS_EVENTS();
 
   timer.Stop();
 
@@ -233,13 +235,13 @@ wxUint32 wxSocketBase::_Read(char* buffer, wxUint32 nbytes)
 
   // If the socket is not connected, or we have got the whole
   // needed buffer, return immedately
-  if (!m_connected || !m_socket || !nbytes) 
+  if (!m_connected || !m_socket || !nbytes)
     return total;
 
   // Possible combinations (they are checked in this order)
   // NOWAIT
   // SPEED | WAITALL
-  // SPEED          
+  // SPEED
   // WAITALL
   // NONE
   //
@@ -314,7 +316,7 @@ wxSocketBase& wxSocketBase::ReadMsg(char* buffer, wxUint32 nbytes)
 
   if (sig != 0xfeeddead)
   {
-    wxLogMessage(_T("Warning: invalid signature returned to ReadMsg"));
+    wxLogMessage(wxT("Warning: invalid signature returned to ReadMsg"));
     goto exit;
   }
 
@@ -372,7 +374,7 @@ wxSocketBase& wxSocketBase::ReadMsg(char* buffer, wxUint32 nbytes)
 
   if (sig != 0xdeadfeed)
   {
-    //wxLogMessage(_T("Warning: invalid signature returned to ReadMsg"));
+    //wxLogMessage(wxT("Warning: invalid signature returned to ReadMsg"));
     goto exit;
   }
 
@@ -440,9 +442,9 @@ wxUint32 wxSocketBase::DeferWrite(const char *buffer, wxUint32 nbytes)
     DoDefer();
   }
 
-  // Wait for buffer completion. 
+  // Wait for buffer completion.
   while (m_defer_buffer != NULL)
-    wxYield();
+    PROCESS_EVENTS();
 
   timer.Stop();
 
@@ -488,7 +490,7 @@ wxUint32 wxSocketBase::_Write(const char *buffer, wxUint32 nbytes)
   // Possible combinations (they are checked in this order)
   // NOWAIT
   // SPEED | WAITALL
-  // SPEED          
+  // SPEED
   // WAITALL
   // NONE
   //
@@ -684,7 +686,7 @@ wxSocketBase& wxSocketBase::Discard()
 
   // TODO: TriggerRead
   return *this;
-  
+
 #undef MAX_BUFSIZE
 }
 
@@ -770,7 +772,7 @@ void wxSocketBase::RestoreState()
 // they poll the socket, using GSocket_Select(), to check for
 // the specified combination of event flags, until an event
 // occurs or until the timeout ellapses. The polling loop
-// calls wxYield(), so this won't block the GUI.
+// calls PROCESS_EVENTS(), so this won't block the GUI.
 
 bool wxSocketBase::_Wait(long seconds, long milliseconds, wxSocketEventFlags flags)
 {
@@ -848,7 +850,7 @@ bool wxSocketBase::_Wait(long seconds, long milliseconds, wxSocketEventFlags fla
     }
 
     if (timeout != 0)
-      wxYield();
+      PROCESS_EVENTS();
   }
   while ((state == -1) && timeout);
 
@@ -899,7 +901,7 @@ void wxSocketBase::SetFlags(wxSockFlags _flags)
 {
   m_flags = _flags;
 }
-                    
+
 // --------------------------------------------------------------
 // wxSocketBase callback management
 // --------------------------------------------------------------