From owner-freebsd-current Mon Apr 7 13:58:08 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id NAA12463 for current-outgoing; Mon, 7 Apr 1997 13:58:08 -0700 (PDT) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.50]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id NAA12445 for ; Mon, 7 Apr 1997 13:57:55 -0700 (PDT) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id NAA02051; Mon, 7 Apr 1997 13:38:19 -0700 From: Terry Lambert Message-Id: <199704072038.NAA02051@phaeton.artisoft.com> Subject: Re: POLL & the Single FreeBSD'r To: peter@spinner.DIALix.COM (Peter Wemm) Date: Mon, 7 Apr 1997 13:38:19 -0700 (MST) Cc: freebsd-current@freebsd.org In-Reply-To: <860439710.357888@haywire.DIALix.COM> from "Peter Wemm" at Apr 7, 97 07:01:50 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > I implemented an openbsd-style implementation of poll() some time ago > but it was mixed up in the middle of the upages stuff so it lot left. > Since then, NetBSD have done a much better implementation, I'm very tempted > to back out what I've done and start from scratch while looking at the > NetBSD method. Basically, OpenBSD implemented poll() as an alternative > interface to the select hooks in the kernel which means that poll() is > limited to what select() can test for. NetBSD did it a lot better, by > replacing the select hooks by poll hooks, and updating both front-ends to > use the new poll backend. The main difference is that under NetBSD, you > can poll for (say) ugent data on a socket as opposed to merely "readable". How does implementing select on top of poll hooks impact the ability to specify a 1uS valued timeval struct for the select timeout? Does it round to the 10ms granularity of poll, or does it work as expected (and as documented in the select() man page)? There is good reason why the select() call was located in the RT section of the SVID III definition when SystemV did poll()... Regards, Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.