[Xorp-cvs] XORP cvs commit: xorp/libxorp

Bruce Simpson bms@icir.org
Mon, 24 Oct 2005 12:57:05 GMT


CVSROOT:	/usr/local/www/data/cvs
Module name:	xorp
Changes by:	bms@xorpc.icir.org	2005-10-24 12:57:05 UTC

XORP CVS repository


Modified files:
	libxorp       win_dispatcher.cc 

Log message:
	This is the third rewrite of the Win32 native I/O dispatcher.
	
	Cut over to WSAEventSelect() from WSAAsyncSelect(). Use a Win32
	Event object (in POSIX threads terminology, a condition variable).
	
	This is an improvement on the relatively large latency of dealing with
	a PostMessage() from a WinSock2 helper thread and should improve
	stability at the XRL layer.
	
	WSAEnumNetworkEvents() is used to poll each socket against the Event
	it was registered against for WinSock asynchronous events.
	
	Cut over from MsgWaitForMultipleObjectsEx() to
	WaitForMultipleObjectsEx().
	
	TODO: Stop linking against USER32.DLL if we don't need it.
	TODO: Use a pool of event objects and stripe across them
	if it buys us anything.
	
	Other changes:
	 - Nuke imported definitions from the Platform SDK.
	 - Nuke message pump code.
	 - Nuke message window creation code.
	 - Style.
	
	Obtained from:  p4://depot/user/bms/xorp_win/...

Revision  Changes                                 Path
1.4       +95 -122;  commitid: 7eda435cd9ff7ea6;  xorp/libxorp/win_dispatcher.cc