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