From 5c9ee6dd498c4b7881cb1ed4164aecceebd52257 Mon Sep 17 00:00:00 2001 From: Stefan Neis Date: Thu, 7 Aug 2003 21:39:40 +0000 Subject: [PATCH] wxUsleep is supposed to sleep _milli_seconds, not _micro_seconds. Got sockets working. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22682 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/os2/app.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/os2/app.cpp b/src/os2/app.cpp index d0c2b5d7ed..84687d9924 100644 --- a/src/os2/app.cpp +++ b/src/os2/app.cpp @@ -166,15 +166,13 @@ void wxApp::HandleSockets() int i; struct GsocketCallbackInfo *CallbackInfo = (struct GsocketCallbackInfo *)m_sockCallbackInfo; - int r = 0; timeout.tv_sec = 0; timeout.tv_usec = 0; if ( select(m_maxSocketNr, &readfds, &writefds, 0, &timeout) > 0) { - for (i = m_lastUsedHandle + 1; i != m_lastUsedHandle; i++) + for (i = m_lastUsedHandle + 1; i != m_lastUsedHandle; + (i < m_maxSocketNr - 1) ? i++ : (i = 0)) { - if (i == m_maxSocketNr) - i = 0; if (FD_ISSET(i, &readfds)) { int r; @@ -187,7 +185,6 @@ void wxApp::HandleSockets() { CallbackInfo[r].proc(CallbackInfo[r].gsock); pendingEvent = TRUE; - wxYield(); } } if (FD_ISSET(i, &writefds)) @@ -201,14 +198,13 @@ void wxApp::HandleSockets() { CallbackInfo[r].proc(CallbackInfo[r].gsock); pendingEvent = TRUE; - wxYield(); } } } m_lastUsedHandle = i; } if (pendingEvent) - wxYield(); + ProcessPendingEvents(); } } // --------------------------------------------------------------------------- @@ -646,13 +642,13 @@ int wxApp::MainLoop() while (!Pending() && ProcessIdle()) { HandleSockets(); - wxUsleep(10000); + wxUsleep(10); } HandleSockets(); if (Pending()) DoMessage(); else - wxUsleep(10000); + wxUsleep(10); } return (int)svCurrentMsg.mp1; @@ -869,6 +865,7 @@ bool wxApp::Yield(bool onlyIfNeeded) if (wxTheApp) wxTheApp->ProcessPendingEvents(); + HandleSockets(); // // Let the logs be flashed again // -- 2.45.2