On 14 Mar 2016, at 11:17 PM, Yann Ylavic <ylavic....@gmail.com> wrote : >> Having looked at this in more detail this isn’t as simple. >> >> The sticking point is the cleanup, which needs to be passed a single struct >> to do it’s work. To pass both the pfds and the npdfs these two need to be >> wrapped in a structure of some kind, which the user has to feed in from the >> outside common to both register and unregister. This structure probably >> should be an apr_array_header_t. > > Hmm right, either this or, say, the ending pfd is the one with > ->reqevents=0, or ->p=NULL, or probably better > ->desc_type=APR_NO_DESC. > Up to the caller to ensure this, it could possibly be documented. > >> >> Is it worth making the change from apr_pollfd_t **pfds to apr_array_header_t >> *pfds? > > That would still require some "complex" initialization, so I'd prefer > the above if it doesn't sound to hacky…
I just gave it a try and it was a lot more elegant than I thought. You create an array the precise size you need, and off you go. Regards, Graham —
httpd-register-poll2.patch
Description: Binary data