Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 May 1996 05:56:28 +1000 (EST)
From:      Darren Reed <avalon@coombs.anu.edu.au>
To:        imp@village.org (Warner Losh)
Cc:        dutchman@spase.nl, freebsd-hackers@freebsd.org
Subject:   Re: Forgiving select() call.
Message-ID:  <199605261957.MAA12119@freefall.freebsd.org>
In-Reply-To: <199605221701.LAA04803@rover.village.org> from "Warner Losh" at May 22, 96 11:01:03 am

next in thread | previous in thread | raw e-mail | index | archive | help
In some mail from Warner Losh, sie said:
> 
> : I want to modify select(2) to return the `timeout left' as described in the
> : BUGS section of the manual page. Any reason why I should not?
> 
> That is *********NOT******* how select works.  Too many programs do
> not do the right thing when this is done.  The failure mode is that
> things seem to work but you have no CPU left for other thigns.  Ths is
> a *VERY*BAD* idea.  Linux tried it and now they have bsd compatible
> select behavior unless you go our of your way to get the behavior you
> propose.  Why?  Too many programs were eating the CPU for lunch
> because they were poorly programmed.  And there were too many to
> easily fix all of them.  Linux is the *ONLY* system that changes the
> timeval in the select call.
> 
> It is a bad idea.  If it had been a good idea, then Lite or Lite2
> would have had it changed.  The bug in the man page is really a bug
> with the man page by now, imho.
> 
> If you want to have a system call that returns this information, don't
> call it select.

Any thoughts on writing a poll() which allows a variable number of bits
passed in the fd_set (or new) structure to get around FD_SETSIZE limits ?

darren



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605261957.MAA12119>