Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Feb 1997 10:09:27 +0300 (MSK)
From:      =?KOI8-R?B?4c7E0sXKIP7F0s7P1w==?= <ache@nagual.ru>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        cvs-all@freefall.freebsd.org, CVS-committers@freefall.freebsd.org, cvs-sys@freefall.freebsd.org
Subject:   Re: cvs commit:  src/sys/sys types.h
Message-ID:  <Pine.BSF.3.95q.970216100350.593B-100000@nagual.ru>
In-Reply-To: <199702160334.OAA05142@godzilla.zeta.org.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 16 Feb 1997, Bruce Evans wrote:

> Please back it out. The kernel is not read for this.  It always rounds up
> to a multiple of FD_SETSIZE bits.  This will clobber old applications.

While I back it out, it seems that the kernel illegally use FD_SETSIZE now
for rounding up, this process not related directly to FD_SETSIZE.

What about adding in sys_generic.c something like

#define FD_ROUNDSIZE 256

and use it instead of FD_SETSIZE for rounding? In this way existen apps
will work.

> It also bzeros a multiple of 6 * FDSETSIZE bits.  This will take a
> fairly long time with a large FD_SETSIZE.  It already takes too long.
> All this is because select() is specified to handle `struct fd_set's.
> The kernel handles whole objects.

This problem fixes too by using FD_ROUNDSIZE instead of FD_SETSIZE.
I.e. only roundup2(nfd, 256) bits will be zeroed.

I plan to fix sys_generic.c, any objections?

-- 
Andrey A. Chernov
<ache@null.net>
http://www.nagual.ru/~ache/




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95q.970216100350.593B-100000>