Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!uakari.primate.wisc.edu!ames!dlb!netcom!hue From: hue@netcom.UUCP (Jonathan Hue) Newsgroups: comp.unix.wizards Subject: repeatability of select() Message-ID: <9156@netcom.UUCP> Date: 14 Mar 90 08:27:37 GMT Organization: NetCom- The Bay Area's Public Access Unix System {408 249-0290 guest} Lines: 26 Under what conditions would the following code fragments not be equivalent? case #1: n = select(nfds, rdset, wrset, exset, timeout_p); case #2: select(nfds, rdset, wrset, exset, timeout_p); /* reset rdset, wrset, and exset to their original values */ ... n = select(nfds, rdset, wrset, exset, (struct timeval *) 0); I'm interested in the behavior on any version of UNIX. Assume for the moment that select() isn't getting interrupted by a signal or anything like that. One case I can think of is HP-UX and a graphics display. You can detect vertical retrace interrupts or blitter interrupts by setting the bit corresponding to an open frame buffer in the exception mask. If you called it again without reenabling the interrupt you wouldn't see the second one. Are there any other cases like this? -Jonathan