Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 May 2007 21:11:33 +0000
From:      "Poul-Henning Kamp" <phk@phk.freebsd.dk>
To:        John Baldwin <jhb@freebsd.org>
Cc:        cvs-src@freebsd.org, Alexander Motin <mav@freebsd.org>, src-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/lib/libnetgraph internal.h msg.c 
Message-ID:  <1155.1179177093@critter.freebsd.dk>
In-Reply-To: Your message of "Mon, 14 May 2007 16:45:54 -0400." <200705141645.55584.jhb@freebsd.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <200705141645.55584.jhb@freebsd.org>, John Baldwin writes:
>On Monday 14 May 2007 10:18:41 am Alexander Motin wrote:

>>   Log:
>>   Replace select() by poll() to avoid problems with big
>>   descriptor number.
>
>Why not kevent(2)?

kevent(2) is most useful if you have many descriptors open
(ie: apache).

poll(2) works quite well for a low number of descriptors,
and doesn't care what their numeric numbers are.

select(2) is terrible unless you have a limited number of descriptors
and they are all low numbered.  This is because of the array
representation.


Given that poll(2) is a much simpler API than kqueue(2), I'd
say it was the right choice here.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1155.1179177093>