Date: Sun, 26 May 1996 20:03:20 EST From: "Kaleb S. KEITHLEY" <kaleb@x.org> To: Darren Reed <avalon@coombs.anu.edu.au> Cc: hackers@freefall.FreeBSD.org Subject: Re: Forgiving select() call. Message-ID: <199605270003.UAA16209@exalt.x.org> In-Reply-To: Your message of Mon, 27 May 1996 05:56:28 EST. <199605261957.MAA12119@freefall.freebsd.org>
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 Poll is (finally) specified in Spec1170 and it doesn't use bits in an fd_set. If you want a system call that does this, don't call it poll. -- Kaleb KEITHLEY
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605270003.UAA16209>