apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Querna <c...@force-elite.com>
Subject Re: apr_pollset, modifying reqevents
Date Tue, 27 Jun 2006 14:55:09 GMT
Mladen Turk wrote:
> Hi,
> 
> I propose a new function apr_poll_modify, or
> modifying apr_poll_add to be able to change
> the interest ops/events for a designated apr_pollfd_t.
> 
> The point is to have an option to modify the
> request events (poll options) without the need
> to remove/add the same socket with different reqevents.
> 
> For example initially the socket might be
> registered with APR_POLLIN, and then later after
> the pollset_poll call it might be registered as
> APR_POLLOUT without the need for remove/add.
> 
> It can be done two ways:
> 
> 1. By using existing apr_pollset_add and depending
>    if the apr_pollfd_t is already member of the
>    pollset or not, execute real add or modify.
>    This would allow possibility to be backported.
> 
> 2. Adding a new function apr_pollset_modify.
> 
> I would prefer the first way, because it mean
> 'add' or 'add with different reqevents'.
> The only drawback I can see is that it would
> disallow to have a apr_pollfd_t added multiple
> times to the pollset (BTW I think that we wish
> to disable that anyhow by looking at the select.c
> where we explicitly search for duplicate fd's on
> remove).

I believe we would be better off finishing the pollcb api:
http://svn.apache.org/repos/asf/apr/apr/branches/pollcb-dev/poll/unix/epoll.c

And adding a modify to that API -- since it makes better assumptions 
about the lifetimes of apr_pollfd_t's.  I don't think the _modify 
paradigm will be easy to push onto the current apr_pollset API.

-Paul

Mime
View raw message