Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Message-Id: <200111161424.fAGEOjm29866@barbelith.montana.com> Content-Type: text/plain; charset="iso-8859-1" From: robert bowman To: cygwin-developers AT cygwin DOT com Subject: Re: TCP connections can occasionally fail because of a winsock bug Date: Fri, 16 Nov 2001 07:26:36 -0700 X-Mailer: KMail [version 1.3.1] References: <20011115212156 DOT 5563 DOT qmail AT lizard DOT curl DOT com> <200111160258 DOT fAG2wVm27159 AT barbelith DOT montana DOT com> <20011116103657 DOT H27452 AT cygbert DOT vinschen DOT de> In-Reply-To: <20011116103657.H27452@cygbert.vinschen.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit On Friday 16 November 2001 02:36, you wrote: > Thanks for that interesting description.  There's that SO_REUSEADDR > call to setsockopt().  I wonder if that could be a help.  It's > treated somewhat dangerous, though. Corinna, No, that was one of the first things I tried. The way it acts is like a server on Linux/AIX4 that does not set SO_REUSEADDR, though. They will fail with a 'could not bind...' error for a couple of minutes after a restart and before the port is freed up. I assume it is the socket stack that is keeping track of things. I'll have to try one of the little server testbeds on NT/2000 and see if it will restart immediately with SO_REUSEADDR set. We've been focusing on the RPC implementation, since that is where we are having a problem. Our apps were developed for AIX4 and use about every flavor of IPC and X communication, and typically are distributed across several machines. On a NT/2000 homogenous network, the throughput degrades badly, even though the machines are typically much newer and faster. So far, it looks like socket problems, even though the MS metrics show the network to be in good shape. The other problem for the RPC library is the dubious select implementation. Timeouts don't work as the select indicates the port can be read, but the read returns EWOULDBLOCK. That is nothing new, though, and has broken a number of ported apps. I've a couple of Perl/Tk test servers that use 'fileevent' , and they always require rework if I need to run on a NT box. bob