On Tue, Jan 5, 2010 at 12:16 AM, Neil Conway <[email protected]> wrote: > (1) The documentation for apr_pollset_create() states that the "size" > parameter controls "The maximum number of descriptors that this > pollset can hold." However, ancient history like > http://www.mail-archive.com/[email protected]/msg12876.html suggests > that "size" now just controls the # of events that can be signalled by > a single call to apr_pollset_poll(). > > From glancing at the code, it seems that the select provider has a > fixed limit on the pollset size, but kqueue, epoll and event port do > not, for example. Is that accurate? Perhaps the apr_pollset > documentation can be updated accordingly.
Yes, this is correct. > (2) Is there a reason why apr_pollset_wakeup() was added, but there's > no analogous apr_pollcb_wakeup()? > > Speaking of which, it might be good to document the high-level > differences between apr_pollset and apr_pollcb -- without doing some > digging, it is not at all clear how they differ, or why one might > prefer one over the other. pollset_wakeup shouldn't exist imo, its place is in something like the apr_events_* api that was proposed and never adopted at one point, but it was added anyways because of a use case needed by tomcat nc (?) I would prefer to build a higher level apr_events API -- somehting like libev or libevent, which wrap all event operations for a process, including user signaled events (which essentially is what _wakeup provides, events over a pipe), but the API was added awhile ago and is now set in stone for the foreseeable future.
