Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site oddjob.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!ihnp4!gargoyle!oddjob!matt From: matt@oddjob.UUCP (Matt Crawford) Newsgroups: net.bugs.4bsd Subject: Re: interrupted select() buggy if no timeout is specified (4.2BSD) Message-ID: <729@oddjob.UUCP> Date: Thu, 16-May-85 18:57:23 EDT Article-I.D.: oddjob.729 Posted: Thu May 16 18:57:23 1985 Date-Received: Fri, 17-May-85 05:13:13 EDT References: <163@Gregorio.ARPA> Reply-To: matt@oddjob.UUCP (Matt Crawford) Distribution: net Organization: U. Chicago, Astronomy & Astrophysics Lines: 17 In article <163@Gregorio.ARPA> mogul@Gregorio.ARPA writes: > >Description: > If select() is called with a null pointer for the "timeout" > argument, and then interrupted, it fails to modify the > bit mask arguments, thus implying that all descriptors > are ready (although they may not be). > .... If you do not test the return value of select() your program is wrong. Only use the mask values if the return value is strictly greater than 0. The manual page says that it is a bug that the masks are ever modified when select times out. The same comment should also be made about interrupts. In fact, the pyramid does not have this bug. _____________________________________________________ Matt University crawford@anl-mcs.arpa Crawford of Chicago ihnp4!oddjob!matt