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

Bruce Simpson bms@icir.org
Wed, 7 Sep 2005 14:23:43 GMT


CVSROOT:	/usr/local/www/data/cvs
Module name:	xorp
Changes by:	bms@xorpc.icir.org	2005-09-07 14:23:43 UTC

XORP CVS repository


Modified files:
	bgp           socket.cc 

Log message:
	On FreeBSD 4.x, we can't check for immediate loopback connection, as
	socket connects/accepts get handled at splnet() in the kernel,
	so we have to give some slack to select() -- the accept/connect
	won't get serviced until we enter a wait state, and the
	kernel isn't preemptible.
	
	On Linux and FreeBSD 5.x+, the connects are handled by netisrs,
	and the kernel *may* preempt the process.
	
	So don't try to use comm_sock_is_connected() for immediate connection
	notification on anything which isn't Linux or FreeBSD 5.x
	for the time being.
	
	This is a very ugly bandaid for a very ugly problem -- but it
	fixes the regression in test_peering1 test30 on but.

Revision  Changes                              Path
1.36      +5 -1;  commitid: d836431ef7d87ea6;  xorp/bgp/socket.cc