> Can anybody shed some light? :p

One possible explanation were that anytime OnDataAvailable returns,
just a few _new_ bytes are available in winsock buffer. Could be 
possible due to the background thread winsock creates internally
with non-blocking sockets, though I'm not aware of how winsock works
under the hood.

--
Arno Garrels [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html


Merijn Bosma wrote:
> Facts:
> - 100% cpu utilization caused by OnDataAvailable being called in a
> loop (sync, so no change for the message pump to work)
> - Linemode = false
> - we call ReceiveStr() on _every_ OnDataAvailable event
> - when wsoNoReceiveLoop is set, we don't have this problem anymore
> 
> these things seem to contradict each other? It of course is possible
> that with wsoNoReceiveLoop set we still have the same problem, but we
> don't notice it because the message pump has a change to kick in.
> Is there any way I can get my fingers around this? Reading it all
> again, I'm still coming to the same conclusion: either bug in
> ReceiveStr(), bug in handling of wsoNoReceiveLoop, or me being stupid
> and don't understanding things correctly.
> 
> Can anybody shed some light? :p
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to