Date: Sat, 3 Jul 1999 01:01:07 -0400 (EDT) From: "Brian F. Feldman" <green@unixhelp.org> To: Jonathan Lemon <jlemon@americantv.com> Cc: wayne@crb-web.com, hackers@FreeBSD.ORG Subject: Re: poll() vs select() Message-ID: <Pine.BSF.4.10.9907030058240.22384-100000@janus.syracuse.net> In-Reply-To: <199907030427.XAA17423@free.pcs>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 2 Jul 1999, Jonathan Lemon wrote: > In article <local.mail.freebsd-hackers/Pine.LNX.3.95.990702160538.27513C-100000@crb.crb-web.com> you write: > >now supports the select() and poll() system calls. My question is really one > >of usage. Why would one us poll() over select()? Is select eventually going > >to go away for some reason? > > select() as a user-level call will never go away; there is a large base > of code that uses it. > > poll() is faster (it doesn't have to do bit twiddling), and it's interface > is cleaner (it can report invalid fd's, something select() can't do). As > its functionality is a superset of select()'s, it is used as the internal > implementation for select(). Actually, select() doesn't require horrendous amounts of copyin()s, which poll() does. So have you benchmarked the two? I'd expect select to be faster. > > As for new code, use whichever you are comfortable with. Personally, I > would recommend poll(), since it provides some added functionality over > select() that makes for easier programming. poll() is a huge pain to use, which is why I recommend select(). > > -- > Jonathan > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > Brian Fundakowski Feldman _ __ ___ ____ ___ ___ ___ green@FreeBSD.org _ __ ___ | _ ) __| \ FreeBSD: The Power to Serve! _ __ | _ \._ \ |) | http://www.FreeBSD.org/ _ |___/___/___/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.10.9907030058240.22384-100000>