Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site cvl.UUCP Path: utzoo!linus!philabs!seismo!rlgvax!cvl!joe From: joe@cvl.UUCP (Joseph I. Pallas) Newsgroups: net.emacs Subject: Re: guido mchan fix (LONG MSG) - (nf) Message-ID: <566@cvl.UUCP> Date: Fri, 19-Aug-83 15:54:35 EDT Article-I.D.: cvl.566 Posted: Fri Aug 19 15:54:35 1983 Date-Received: Sun, 21-Aug-83 02:55:32 EDT References: <2597@uiucdcs.UUCP> Organization: U. of Md. Computer Vision Lab Lines: 24 Purtilo@uiuccsb.UUCP claims that the select call should be changed from the old line ... nfds = select (20, &readfds, &writefds, (int*)0, (int*)0); the new line ... nfds = select (20, &readfds, &writefds, (int*)100000); to keep emacs from doing a poll instead of blocking (I assume the missing argument in the new line is an oversight). The key point is that this reveals a failure to understand the following critical line in the manual section for select(2): "If timeout is a zero pointer, the select blocks indefinitely. To affect [sic] a poll, the timeout argument should be non-zero, pointing to a zero valued timeval structure." A zero value passed to select does NOT indicate a poll, and a value of 100000 is meaningless--*((int *)100000) is definitely NOT 100000. Joe Pallas joe@cvl.uucp (seismo!rlgvax!cvl!joe) joe@cvl.arpa