Skip site navigation (1)Skip section navigation (2)
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>