This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: TCP connections can occasionally fail because of a winsock bug

[Get raw message]
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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]