[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ircd2.9.5 and poll()



On Tue, 14 Apr 1998, Joern Westermann wrote:

> recently I compiled and started ircd2.9.5 on a HP9000/735 with HP-UX
> 10.20 installed. HP-UX has a bug in select() where a very busy port is
> locked for a specific time so that no new users can connect. At our
> server this happens with 300-350 connections at port 6667. Then the port
> is blocked even if the connections drop down to 150-200 users.
> This blocking also occurs at a lower connection count if the connect
> frequency is very high. After 1-2 hours the server accepts new
> connections.

This sounds almost like it is hanging in a blocking read (or accept)
and doesn't respond until SO_KEEPALIVE messages snaps it out of it
after two hours.

Which NBLOCK_???? is defined by the configure script in your setup.h?

There appears to be a bug in the configure script when it tries to
detect SYSV non-blocking. It uses fcntl() to set FIONBIO, but it
should be using ioctl().

The code in ircd/s_bsd.c/set_non_blocking() looks ok though.