I've just checked in a refactoring of the event loop to squid-3.
This is mostly harmless. It will likely have one negative impact though:
the selftest for EventLoop() will fail if the comms module being built
is not updated to the new protocol because the comms code has a
now-inappropriate assert in it.
The change to comm_select is that when there are:
- no fds
- squid is not shutting down
comm_select should now return COMM_IDLE rather than fataling. I've
updated comm_poll, but due to time constraints and our current
only-build-one-loop approach I haven't updated epoll/select/kqueue.
I hope to get some hack time next weekend, when I'll transition the
event checking logic in the event loop to be comms-loop independent - I
ran out of time on Sunday, and this is strictly weekend-stuff for me.
When this transition is done, the improved event loop I sketched out a
while back will be in place, allowing for relatively easy testing of
event loop dependent code - such as the http pipeline, or icap etc etc.
Hope this is of use,
Cheers,
Rob
-- GPG key available at: <http://www.robertcollins.net/keys.txt>.
This archive was generated by hypermail pre-2.1.9 : Fri Sep 01 2006 - 12:00:03 MDT