From: Alan H. <al...@re...> - 2002-03-28 22:53:47
|
David, I'll have to read your email a few times to completely understand what's happening....But.... Just as a test - try the multithread-1-branch, we break out of crNetGetNextMessage now to process multiple clients. Alan. On Thu, Mar 28, 2002 at 02:44:56PM -0800, David Thompson wrote: > I have been having problems with parallel tilesort. > If I insert a glFinish() anywhere in the application, > it will hang with both servers and clients in > crNetRecv. I think I've figured out the problem, but > I wanted to run it by the list... > > Basically, it looks like the crserver can get stuck in > crGetNextMessage (called from crServerSerializeRemoteStreams). > Because crGetNextMessage is only checking one client > connection's buffer but is calling crNetRecv (which > will accept buffers from any connection), the server > will never get around to a writeback command issued from > some other client. > > For example, consider two client machines A & B and a > tilesort app with two tiles. Crserver processes run on > machines C & D. If both A & B call glFinish() then two > packets get sent to C and two get sent to D. All > four packets contain a writeback command. If the server on > machine C is running the inner loop of crServerSerializeRemoteStreams > with run_queue set to client A's connection, it will continue to > call crGetNextMessage for client A's buffer. Once it has processed > the writeback request, it continues to process requests for ONLY > client A. But client A may not be done receiving writebacks because > server D may be in crServerSerializeRemoteStreams and only > processing messages for client B. This means both A&B are > waiting on writebacks from different machines, neither of which > will answer until the other client dies or sends something > that causes the connection to get blocked. > > So, is it > 1. I am missing something, > 2. This is dreadful and should get fixed, > 3. I am a moron for calling glFinish from more than one node... ? > > David T. > > > > _______________________________________________ > Chromium-dev mailing list > Chr...@li... > https://lists.sourceforge.net/lists/listinfo/chromium-dev |