Revision: 4649
          http://equalizer.svn.sourceforge.net/equalizer/?rev=4649&view=rev
Author:   eile
Date:     2010-07-23 08:22:15 +0000 (Fri, 23 Jul 2010)

Log Message:
-----------
Fix longstanding, rare Win32 network bug (2882248: Spurious deadlocks on
Win32). The bug was caused by two interdependent issues:

Issue 1: WaitForMultipleObjects in ConnectionSet::select occasionally
signals data on an empty socket, causing SocketConnection::readSync to
deadlock.
Fix: Do a non-blocking read on the *first byte* of each packet. Reset
ConnectionSet if socket was empty

Issue 2: WSAGetOverlappedResult returns occasionally WSASYSCALLFAILURE,
causing out-of-sync on the TCP stream.
Fix: Retry WSAGetOverlappedResult *after* a small sleep period.

Remove unused UDPConnection

[ ] May break build
[ ] May break existing applications
[x] Bugfix
[ ] New Feature
[x] Cleanup
[ ] Optimization
[ ] Documentation

Modified Paths:
--------------
    trunk/src/VS2005/Equalizer.vcproj
    trunk/src/VS2008/Equalizer.vcproj
    trunk/src/XCode/Equalizer.xcodeproj/project.pbxproj
    trunk/src/commitMessage.txt
    trunk/src/lib/Makefile
    trunk/src/lib/client/X11Connection.h
    trunk/src/lib/net/bufferConnection.h
    trunk/src/lib/net/connection.cpp
    trunk/src/lib/net/connection.h
    trunk/src/lib/net/connectionSet.cpp
    trunk/src/lib/net/connectionSet.h
    trunk/src/lib/net/eventConnection.h
    trunk/src/lib/net/fdConnection.cpp
    trunk/src/lib/net/fdConnection.h
    trunk/src/lib/net/ibConnection.cpp
    trunk/src/lib/net/ibConnection.h
    trunk/src/lib/net/mcipConnection.cpp
    trunk/src/lib/net/mcipConnection.h
    trunk/src/lib/net/namedPipeConnection.cpp
    trunk/src/lib/net/namedPipeConnection.h
    trunk/src/lib/net/node.cpp
    trunk/src/lib/net/pairConnection.h
    trunk/src/lib/net/pgmConnection.cpp
    trunk/src/lib/net/pgmConnection.h
    trunk/src/lib/net/pipeConnection.cpp
    trunk/src/lib/net/pipeConnection.h
    trunk/src/lib/net/rspConnection.cpp
    trunk/src/lib/net/rspConnection.h
    trunk/src/lib/net/socketConnection.cpp
    trunk/src/lib/net/socketConnection.h
    trunk/src/tools/netproxy/netproxy.cpp

Removed Paths:
-------------
    trunk/src/lib/net/udpConnection.cpp
    trunk/src/lib/net/udpConnection.h


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Equalizer-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/equalizer-commit
http://www.equalizergraphics.com

Reply via email to