> I wrote:
> > I still suspect there's something else going on here, anyway. SOMAXCONN
> > is nominally 5 on quite a lot of Unixen, but we've only heard reports of
> > transient "make check" connect failures on Windows. Why is Windows so
> > much more prone to show this problem?
>
> Hm, maybe I need to take this back. Some poking around shows that
> SOMAXCONN is defined as 128 on Linux, 20 on HPUX, which are the
> platforms I've tested most. As an experiment I reduced the listen()
> parameter to 5 on HPUX, and bingo: I get connection-refused failures
> in "make check". So it seems that Windows' behavior is not so out of
> line after all. We would probably see similar failures on BSD-derived
> systems, since BSD systems traditionally set SOMAXCONN to 5. (Any
> BSD partisans able to check this?)
BSDi 4.01 has:
/*
* Maximum queue length specifiable by listen.
* The kernel has a configurable limit;
* the non-kernel value is the traditional one.
*/
#ifndef KERNEL
#define SOMAXCONN 64 /* XXX, really run-time settable */
#else
#ifndef _POSIX_SOURCE
#define SOMAXCONN_DFLT 64
#endif
#endif
and sysctl has:
net.socket.maxconn = 64
that can be easily changed.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026